False positive `invalid-inheritance`: diamond inheritance resolves same `Base[int]` to different union orderings
I maintainer di solito rispondono entro 2 giorni
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 52/100
Direzione di ricerca
Inizia riproducendo il caso minimo nel sandbox Pyrefly collegato e ispeziona il modo in cui la diagnostica invalid-inheritance confronta le due sostituzioni di Field risolte. Traccia l’ordine dell’unione prodotto per i rami Mixin[int] e Left; il lavoro è completato quando Combined viene accettato senza errori per entrambi gli ordini dell’unione dichiarati.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Describe the Bug
Minimal case
class Field[I, M]:
pass
class Base[I](Field[list[I] | I, I]): # scapy.fields._EnumField
pass
class Mid[MidI](Base[MidI]): # scapy.fields.EnumField
pass
class Left(Mid[int]): # scapy.fields.BytesEnumField
pass
class Mixin[I](Mid[I]):
pass
class Combined(Mixin[int], Left): # ERROR Class `Combined` has inconsistent type arguments for base class `Field`: `Field[list[int] | int, int]` and `Field[int | list[int], int]` [invalid-inheritance]
pass
Expected output
No error. Both branches bottom out in the same substitution Base[int] → Field[list[int] | int, int].
Key observations
Flip the declared union order to Field[I | list[I], I] → the reported pair stays list[int] | int vs int | list[int]. The ordering is produced by resolution, not read from source.
Sandbox Link
(Only applicable for extension issues) IDE Information
No response
- Lingua principale
- Rust
- Stelle
- 7.1k
- Fork
- 564
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di facebook/pyrefly
-
[tensor-shapes] torch.lerp rejects tensor weights and omits their broadcast shapeForse già presa @mangeshraut712 l’ha presa 1 giorno fa. Apertapytorch tensor-shapes
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
I maintainer di solito rispondono entro 2 giorni
-
[tensor-shapes] torch.empty overloads omit requires_gradForse già presa @Cha-Imaa l’ha presa 1 giorno fa. Apertapytorch tensor-shapes
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
facebook/pyrefly#5359 · 2 commenti · 1 assegnatario ·
I maintainer di solito rispondono entro 2 giorni
-
Pyrefly fails to report TypedDict mismatch in the presence of (off-by-default) open-unpacking errorForse già presa @rchen152 l’ha presa oggi. Apertatypechecking
facebook/pyrefly#5401 · 1 assegnatario ·
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 52/100
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
I maintainer di solito rispondono entro 2 giorni
Tutte le issue di facebook/pyrefly
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 73/100
haowjy/mars-agents#228 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 68/100
redlib-org/redlib#604 ·
I maintainer di solito rispondono entro 3 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
dividebysandwich/rust-dos#240 ·
I maintainer di solito rispondono entro 1 giorno
-
A-UI C-Bug S-Needs-Triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
bevyengine/bevy#26330 ·
I maintainer di solito rispondono entro 2 giorni