python / python/mypy

Set[T] is incompatible with Set[Optional[T]] - Set[None]

Abierto
#8,526 2 comentarios 7 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

feature priority-2-low
Lenguaje dominante
Python
Estrellas
20.6k
Forks
3.3k
Métricas de merge de PR
Métricas de PR pendientes

Descripción

Tested with 0.761.

MWE:

from typing import Optional, Set

class Foo:
    pass

bar: Set[Optional[Foo]] = set()
baz: Set[Foo] = bar - {None}
# Incompatible types in assignment (expression has type "Set[Optional[Foo]]",
# variable has type "Set[Foo]")

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

Reproduce el problema con el MWE proporcionado usando mypy 0.761 o un checkout actual y, a continuación, sigue cómo se tipa la resta de conjuntos para Set[Optional[Foo]] y {None}. Se considera terminado cuando la asignación a Set[Foo] se gestione de acuerdo con el comportamiento previsto de comprobación de tipos, con una prueba de regresión para el ejemplo.

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
35/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.