Incorrect send type with `yield from`
Abierto
Nadie ha tomado este issue todavía.
bug
topic-runtime-semantics
- Lenguaje dominante
- Python
- Estrellas
- 20.6k
- Forks
- 3.3k
- Métricas de merge de PR
- Métricas de PR pendientes
Descripción
Bug Report
Generators do not respect the send type when using yield from.
To Reproduce
def foo() -> Generator[None, int, None]:
x: int = yield
def bar() -> Generator[None, str, None]:
yield from foo()
Expected Behavior
Should error on yield from foo().
Actual Behavior
Does not error and allows gen = bar(); gen.send("abc"), which results in x: int = "abc".
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 ejecutando la reproducción en Python del issue y sigue cómo mypy comprueba los tipos enviados de los generadores mediante yield from. Añade una prueba de regresión que cubra foo() y bar(), y confirma que mypy informa de un error en yield from foo() en lugar de permitir que se envíe un string al generador tipado como integer.
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
- 3/5
- Tiempo estimado
- 1-2 días
- Estado de actividad
- Estancado
- Claridad
- Bien especificado
- Aptitud para principiantes
- 35/100