Replace `ir::BlockIdx::NULL` with `Option<ir::BlockIdx>`
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 45/100
Línea de trabajo
Comienza en crates/codegen/src/ir.rs, alrededor de las líneas 49–50, y luego rastrea los usos de ir::BlockIdx::NULL y las comparaciones condicionales descritas en el issue. Sustituye la representación centinela por Optionir::BlockIdx en todo el código afectado y verifica que todos los casos Some/None se gestionen correctamente.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Summary
We are using a hack for representing a null block index by doing:
https://github.com/RustPython/RustPython/blob/9f250a0f6e51a19b6a4c512728ffd3929a33ebec/crates/codegen/src/ir.rs#L49-L50
I think it would be better to remove this hack and using a proper Option<BlockIdx> for representing Some(BlockIdx) or a None it would ensure a proper care for a None/Some cases instead of using an if condition (which is more error prone) like:
if target == BlockIdx::NULL {
...
} else {
...
}
- Lenguaje dominante
- Rust
- Estrellas
- 22.4k
- Forks
- 1.5k
- Merge medio
- 15 h 18 min
- PR fusionados (30 d)
- 172
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 RustPython/RustPython
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
RustPython/RustPython#8470 · 2 comentarios ·
-
C-bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
RustPython/RustPython#7995 · 5 comentarios ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
RustPython/RustPython#5577 ·
-
C-bug
Dificultad 3/5 1-2 días Aptitud para principiantes 68/100
RustPython/RustPython#8685 · 7 comentarios · 1 reacción ·
-
C-compat
RustPython/RustPython#8496 · 1 comentario · 1 asignado ·
Todos los issues de RustPython/RustPython
Issues similares
-
risk:low runtime status:in-progress type:test
Dificultad 1/5 Menos de una hora Aptitud para principiantes 92/100
zeroclaw-labs/zeroclaw#11023 ·
-
good first issue refactor
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
EricSpencer00/Resilient#4835 · 1 comentario ·
-
agent:ready documentation
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
cesarferreira/stax#890 ·
-
bug
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100