Testing `ca_nothing` for boolean needs to be deprecated
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 42/100
Línea de trabajo
Revisa la implementación de ca_nothing.bool en src/cothread/catools.py, utilizando el issue 45 para el comportamiento booleano inesperado descrito aquí. Determina cómo debe emitirse la advertencia de obsolescencia de una sola vez y verifica que el comportamiento esté marcado como un breaking change antes de eliminar la implementación.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
As discussed in https://github.com/dls-controls/aioca/issues/45 it would appear that allowing a ca_nothing value to return False to a boolean test triggers unexpected behaviour: it turns out that Exception subclasses are expected by core Python libraries to return True when tested with __bool__.
The obvious fix is to delete the implementation of ca_nothing.__bool__ here: https://github.com/DiamondLightSource/cothread/blob/bb6245082c22069abea0fa5f00f710777d632cda/src/cothread/catools.py#L103-L105 but unfortunately this is a breaking change for any code which is testing bool(value) rather than value.ok. The only reasonable solution is probably to raise a one-shot deprecation warning when this function is called.
Fortunately I don't think the boolean test feature of ca_nothing is documented, but this still needs to be flagged as a breaking change.
- Lenguaje dominante
- C
- Estrellas
- 13
- Forks
- 11
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la 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 DiamondLightSource/cothread
-
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
DiamondLightSource/cothread#78 · 2 comentarios ·
-
bug
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
DiamondLightSource/cothread#75 · 5 comentarios ·
-
bug
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
DiamondLightSource/cothread#73 · 1 comentario ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 48/100
-
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
DiamondLightSource/cothread#68 · 3 comentarios · 1 reacción ·
Todos los issues de DiamondLightSource/cothread
Issues similares
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 2 días
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
ChrisTitusTech/dwm-titus#397 ·
Los mantenedores suelen responder en 1 día
-
Translate gcc cheat sheet to frAbiertogood first issue help wanted language:fr translation
Dificultad 1/5 1-3 horas Aptitud para principiantes 85/100
mrvi0/cli-cheatsheet#160 ·
-
Test modules use volatile int for cross-thread flags instead of atomicsPosiblemente ocupada @rahimuddin140 la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
valkey-io/valkey#4899 · 1 comentario ·
Los mantenedores suelen responder en 2 días
-
Profiler (Remotery) leaks a socket for every connection that fails the WebSocket handshakePosiblemente ocupada @rthery la tomó hoy. Abiertotriage
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día