python / python/typeshed

multiprocessing.Value.value needs to be defined

Abierto
#10,319 1 comentario 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Lenguaje dominante
Python
Estrellas
5.1k
Forks
2.1k
Merge medio
1 d 19 h
PR fusionados (30 d)
82

Descripción

The following sample code:

import multiprocessing as mp
x = mp.Value( 'i', 0 )
print( f'{x.value=}' )
x.value = 1
print( f'{x.value=}' )

Produces this output when run:

x.value=0
x.value=1

But mypy complains:

mypy_bug_multiprocessing_value.py:3: error: "SynchronizedBase[Any]" has no attribute "value"  [attr-defined]
mypy_bug_multiprocessing_value.py:4: error: "SynchronizedBase[Any]" has no attribute "value"  [attr-defined]
mypy_bug_multiprocessing_value.py:5: error: "SynchronizedBase[Any]" has no attribute "value"  [attr-defined]

Python version: Python 3.10.9 (tags/v3.10.9:1dd9be6, Dec 6 2022, 20:01:21) [MSC v.1934 64 bit (AMD64)] on win32
mypy version: mypy==1.3.0

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

Comienza localizando el stub de typeshed para multiprocessing.Value y la definición de SynchronizedBase mencionada en el error de mypy. Compara la interfaz declarada con las lecturas de .value y la asignación del ejemplo, y después añade o actualiza la cobertura de stubs pertinente y una comprobación de regresión si el repositorio tiene un patrón de pruebas aplicable. El trabajo está terminado cuando el ejemplo pasa la comprobación de tipos sin errores attr-defined.

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
2/5
Tiempo estimado
1-3 horas
Estado de actividad
Estancado
Claridad
Bien especificado
Aptitud para principiantes
35/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.