Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

ASYNC103 for sync functions

Abierto
#447 5 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
62/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Tranquilo
Stack tecnológico
python
Área
tooling

Línea de trabajo

Empieza reproduciendo ASYNC103 contra la llamada síncrona mostrada en src/trio/_core/_instrumentation.py e inspecciona cómo la regla distingue entre funciones síncronas y asíncronas. Se considera terminado cuando ya no se notifica el falso positivo, pero los casos previstos de ASYNC103 siguen notificándose; añade o actualiza la prueba de regresión pertinente una vez identificado su lugar.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

rule improvement

I don't think sync functions can raise trio.Cancelled, but this is causing ASYNC103:

    def call(
        self,
        hookname: str,
        *args: object,
    ) -> None:
        # snip
        for instrument in list(self.data[hookname]):
            try:
                getattr(instrument, hookname)(*args)
            except BaseException:  # E
                self.remove_instrument(instrument)
                INSTRUMENT_LOGGER.exception(
                    "Exception raised when calling %r on instrument %r. "
                    "Instrument has been disabled.",
                    hookname,
                    instrument,
                )

Error message:

src/trio/_core/_instrumentation.py:110:20: ASYNC103 BaseException block with a code path that doesn't re-raise the error. Consider adding an `except trio.Cancelled: raise` before this exception handler.
Lenguaje dominante
Python
Estrellas
26
Forks
10
Métricas de merge de PR
Sin PR fusionados en 30 d

Preparar el entorno

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.

Más de python-trio/flake8-async

Todos los issues de python-trio/flake8-async

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.