`type[T]` is not `() -> T`
Abierto
Nadie ha tomado este issue todavía.
bug
- Lenguaje dominante
- Python
- Estrellas
- 20.6k
- Forks
- 3.3k
- Métricas de merge de PR
- Métricas de PR pendientes
Descripción
from typing import TypeVar, Callable
T = TypeVar("T")
class A:
def __init__(self, a: int) -> None:
...
def foo(t: type[T]) -> T:
return t()
foo(A) # SUS ALERT!
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.
Línea de trabajo
Comienza reproduciendo el fragmento de Python reportado con type[T], class A y foo; inspecciona cómo modela el comprobador de tipos la llamada a un type[T]. Se considera terminado cuando el comprobador informa de que foo(A) no es válido porque A requiere un argumento, en lugar de tratar type[T] como un callable sin argumentos.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- python
- Área
- devtools
- Tipo de issue
- Error
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 42/100