python / python/typing_extensions
Multiple inheritance and ReadOnly issues?
Abierto
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- Python
- Estrellas
- 583
- Forks
- 146
- Merge medio
- 10 h 11 min
- PR fusionados (30 d)
- 5
Descripción
I believe the following should be a passing test suite for multiple inheritance and ReadOnly:
from typing_extensions import TypedDict, Required, NotRequired, ReadOnly
class A(TypedDict):
k: ReadOnly[Required[int]]
class B(TypedDict):
k: ReadOnly[NotRequired[int]]
class C(A, B): pass
assert C.__required_keys__ == {'k'}
assert C.__optional_keys__ == set()
class D(B, A): pass
assert D.__required_keys__ == {'k'}
assert D.__optional_keys__ == set()
class E(TypedDict):
k: Required[int]
class F(A, E): pass
assert F.__readonly_keys__ == set()
assert F.__mutable_keys__ == {'k'}
class G(E, A): pass
assert G.__readonly_keys__ == set()
assert G.__mutable_keys__ == {'k'}
Unfortunately, with typing-extensions 4.9.0-rc1 in Python 3.10.1, every one of these properties is {'k'}
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
Ejecuta el reproductor proporcionado con typing-extensions 4.9.0-rc1 en Python 3.10.1 y compara cada conjunto de claves reportado con las aserciones esperadas. Sigue el manejo de la herencia múltiple de TypedDict para Required, NotRequired y ReadOnly, y añade cobertura de regresión que demuestre que todas las aserciones pasan.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- python
- Área
- tooling
- 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