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

Abierto
#5,614 3 comentarios 0 reacciones 1 asignado Ver en GitHub

@amas127 ya está trabajando en esto.

Desde el 11/11/2026.

Evaluación

Este issue todavía no se ha evaluado.

Descripción

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

Lenguaje dominante
Rust
Estrellas
7.2k
Forks
578
Métricas de merge de PR
Sin PR fusionados en 30 d

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de facebook/pyrefly

Todos los issues de facebook/pyrefly

Issues similares

Más issues de Rust

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.