Behaviour change in defaultdict.__missing__ between 3.13.11 and 3.13.12
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- Python
- Estrellas
- 77.2k
- Forks
- 35.9k
- Métricas de merge de PR
- Métricas de PR pendientes
Descripción
Bug report
Bug description:
I have observed a subtle change in behavior of defaultdict.__missing__ between Python 3.13.11 and 3.13.12. Consider the following output:
3.13.11:
$ uv run --python 3.13.11 python -c 'from collections import defaultdict; print(defaultdict(lambda: "A", {None: "B"}).__missing__(None))'
Using CPython 3.13.11
Creating virtual environment at: .venv
Built pdonnx @ file:///Users/christian.bourjau/repos/pdonnx
Installed 1 package in 1ms
A
3.13.12:
$ uv run --python 3.13.12 python -c 'from collections import defaultdict; print(defaultdict(lambda: "A", {None: "B"}).__missing__(None))'
Using CPython 3.13.12
Removed virtual environment at: .venv
Creating virtual environment at: .venv
Installed 1 package in 1ms
B
The same change in behavior can be observed between 3.14.2 and 3.14.3.
This might be related to #142495 and https://github.com/python/cpython/pull/142668
Was this an intentional fix?
CPython versions tested on:
3.13
Operating systems tested on:
macOS
Linked PRs
- gh-148880
- gh-148881
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 reproduciendo el comportamiento reportado de defaultdict.missing(None) en Python 3.13.11, 3.13.12, 3.14.2 y 3.14.3; después, lee el contexto de los issues #142495 y pull request #142668. Revisa los PRs vinculados gh-148880 y gh-148881; el trabajo estará terminado cuando se haya establecido el comportamiento previsto y el issue tenga una conclusión clara o un seguimiento.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- python
- Área
- backend
- Tipo de issue
- Error
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 25/100