Possible infinite loop for bad generators

Abierto Apto para principiantes
#216 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
69/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
cpp
Área
compilers

Línea de trabajo

Empieza por el bucle de reintentos de include/trieste/wf.h en las líneas 438–443, enlazado desde el issue, y lee cómo genera nombres y gestiona las bindings que no permiten shadowing. Revisa las pruebas pertinentes para la generación de nombres y añade cobertura para un generador finito cuyos nombres ya se hayan usado. Se considera terminado cuando los reintentos tienen un límite y ese caso termina; el issue no especifica el límite.

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

Descripción

As brought up by Copilot's review of #209, there is a loop that continues to try and generate a fresh name until it succeeds:

https://github.com/microsoft/Trieste/blob/ff2acc317bda025210b1400d20e19a41f8349da5/include/trieste/wf.h#L438-L443

With a generator that only generates a finite set of names, and for a binding that doesn't allow shadowing, this loop will never terminate. We should probably cap the number of retries in this loop.

Lenguaje dominante
C++
Estrellas
53
Forks
29
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 microsoft/Trieste

Todos los issues de microsoft/Trieste

Issues similares

Más issues de C++

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.