Casting NamedTuple with __call__ to Callable
Abierto
Nadie ha tomado este issue todavía.
bug
topic-named-tuple
- Lenguaje dominante
- Python
- Estrellas
- 20.6k
- Forks
- 3.3k
- Métricas de merge de PR
- Métricas de PR pendientes
Descripción
I think this should be valid:
from typing import Callable, NamedTuple
class Foo(NamedTuple):
x: int
def __call__(self) -> int:
return self.x
foo: Callable[[], int] = Foo(42)
but mypy fails with:
error: Incompatible types in assignment (expression has type "Foo", variable has type "Callable[[], int]")
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
Empieza ejecutando mypy en el ejemplo de NamedTuple y Callable del issue para reproducir el error de asignación incompatible. Rastrea la comprobación de compatibilidad de Callable para un NamedTuple que defina call; el trabajo estará terminado cuando se acepte el ejemplo y el comportamiento esté cubierto por una prueba de regresión.
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
- 38/100