Improve handling of Type[...] so distinguish between types and instances properly
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 35/100
Línea de trabajo
Empieza siguiendo cómo se representan Type[...] y los valores de clase frente a los de instancia para el ejemplo de produce() y reveal_type(C). Examina la ruta can_assign_from mencionada en el issue y determina cómo debería gestionar un Value en lugar de una clase. Se considera terminado cuando el ejemplo ya no infiere Type[type], sino uno de los resultados previstos: Type[object], Type[typing.Any] o Type[dynamic].
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Currently we don't really fully handle instances of types correctly. One example of this is:
def produce() -> type:
@final
class C:
pass
return C
C = produce()
reveal_type(C)
The inferred type of "C" becomes "Type[type]", when it really should be "Type[object]", "Type[typing.Any]" or "Type[dynamic]".
There's other places that tie into this like can_assign_from might be better taking a Value vs. a class.
- Lenguaje dominante
- Python
- Estrellas
- 3.8k
- Forks
- 139
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de facebookincubator/MetaPython
-
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
facebookincubator/MetaPython#147 ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
facebookincubator/MetaPython#146 · 2 comentarios ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
facebookincubator/MetaPython#145 · 4 comentarios ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 30/100
facebookincubator/MetaPython#144 · 1 comentario ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 20/100
facebookincubator/MetaPython#129 · 2 comentarios ·
Todos los issues de facebookincubator/MetaPython
Issues similares
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
use-agent-os/agent-os#3314 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
BasedHardware/omi#15662 · 1 comentario ·
-
documentation help wanted
Dificultad 2/5 1-3 horas Aptitud para principiantes 90/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
AiursoftWeb/AnduinOS-2#19 ·