False positive: `Protocol` with `EXCLUDED_ATTRIBUTES` cannot be used with `issubclass()`

オープン
#5,614 コメント 3 件 リアクション 0 件 担当者 1 名 GitHub で見る

@amas127 がすでに取り組んでいます。

2026年11月11日 から。

評価

この issue はまだ評価されていません。

説明

typechecking
Describe the Bug
from typing import runtime_checkable, Protocol
from abc import abstractmethod

# >>> Current

@runtime_checkable
class Buffer(Protocol):
    __slots__ = ()

    @abstractmethod
    def __buffer__(self, flags: int, /) -> memoryview: ...

x = issubclass(type(bytes()), Buffer)  # error, expected good

# >>> Comparison

@runtime_checkable
class BufferExt(Protocol):
    @abstractmethod
    def __buffer__(self, flags: int, /) -> memoryview: ...

x = issubclass(type(bytes()), BufferExt)  # good

Python: 3.12

Sandbox Link

https://pyrefly.org/sandbox/?project=v2.xZXNboMwEIRfZSUOgITwPQdUteq9bxAZYojVgJF_UvL2Hdu4LUVKVfXQq4XHu-x8s7-ITO0mKzGg7iy615gdKeXWmPiSNLyFm_BqhMFPLaOmaejJaS0mG3DeCSZCH13fC10k9WTK49FclDXeIRSd4E8fvj_1SXUbdD647i98QCTAJBWxYM1RjErfrlK8Haiuay-5QFwa49pQSuFTtWhv-JtFWVZrZSVRFk1SkVhmDFGcaFCbPtU4cy2NwsnPrT4vdtftP_SFMkJrvpW9vTN6iQe0OgXBDi4Gh_UBv-OVDJtD0Nna2RwYS9eVHpiY2El1hm1uMPIk8yuXYSlt5UgFHA1k_8JVHrHK71GVe6jwxV1Q3gE

(Only applicable for extension issues) IDE Information

No response

主要言語
Rust
スター
7.2k
フォーク
578
PR マージ指標
30日以内にマージされた PR はありません

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

facebook/pyrefly のほかの issue

facebook/pyrefly の issue をすべて見る

似ている issue

Rust の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。