What would it take to make unhashable dict key a static error?
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 25/100
Línea de trabajo
Comienza ejecutando compile_nested_dict_dict_key.py con la revisión de Static Python indicada e inspecciona cómo se trata CheckedDict[B, int] como clave. Determina si el sistema de tipos puede usar hash; se considera terminado cuando el ejemplo produce un error de compilación en lugar del TypeError en tiempo de ejecución.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
What version of Static Python are you using?
9965302
2021-07-15
What program did you run?
# compile_nested_dict_dict_key.py
from __static__ import CheckedDict
class B: pass
class D(B): pass
def testfunc():
x = CheckedDict[B, int]({B():42, D():42})
y = CheckedDict[CheckedDict[B, int], int]({x: 42})
return y
print(testfunc())
What happened?
The program raises a runtime error.
TypeError: unhashable type: 'dict[B, int]'
What should have happened?
We expected a compile-time error complaining that CheckedDict[B, int] is unhashable. Maybe the type system can look for a __hash__ method.
- Lenguaje dominante
- Python
- Estrellas
- 3.8k
- Forks
- 139
- Métricas de merge de PR
- Sin PR fusionados en 30 d
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.
Más de facebookincubator/MetaPython
-
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
facebookincubator/MetaPython#147 ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
facebookincubator/MetaPython#146 · 2 comentarios ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
facebookincubator/MetaPython#145 · 4 comentarios ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 30/100
facebookincubator/MetaPython#144 · 1 comentario ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 20/100
facebookincubator/MetaPython#129 · 2 comentarios ·
Todos los issues de facebookincubator/MetaPython
Issues similares
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
use-agent-os/agent-os#3314 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
BasedHardware/omi#15662 · 1 comentario ·
-
documentation help wanted
Dificultad 2/5 1-3 horas Aptitud para principiantes 90/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
AiursoftWeb/AnduinOS-2#19 ·