PyArray1::<bool>::as_slice is unsound
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 42/100
Línea de trabajo
Comience en PyArray1::::as_slice y reproduzca el problema con los fragmentos de NumPy y Rust proporcionados. Siga cómo se expone el slice y determine cómo deben gestionarse las representaciones bool no válidas. Se considera terminado cuando as_slice ya no expone un slice de bool de Rust para esos datos y el caso demostrado está cubierto.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
PyArray1::<bool>::as_slice returns a &[bool], but the underlying data may not at all be valid for Rust's bool, creating instant undefined behavior. For example
>>> a = np.uint8([24, 15, 32, 1, 0]).view(bool)
>>> a
array([ True, True, True, True, False])
Calling as_slice on this from Rust reveals the invalid representation:
dbg!(arr.as_slice().unwrap());
dbg!(unsafe { core::mem::transmute::<&[bool], &[u8]>(arr.as_slice().unwrap()) });
[ false, true, false, true, false, ]
[ 24, 15, 32, 1, 0, ]
- Lenguaje dominante
- Rust
- Estrellas
- 1.4k
- Forks
- 141
- Merge medio
- 16 min
- PR fusionados (30 d)
- 3
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
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 PyO3/rust-numpy
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
PyO3/rust-numpy#565 · 1 comentario ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 58/100
PyO3/rust-numpy#563 ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 56/100
PyO3/rust-numpy#557 ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 45/100
PyO3/rust-numpy#547 · 2 comentarios ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 20/100
PyO3/rust-numpy#535 ·
Todos los issues de PyO3/rust-numpy
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
-
bug core
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
-
JIT-compiled number -> Decimal conversion silently overflows instead of raising DECIMAL_OVERFLOW Abiertofuzz
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
ClickHouse/ClickHouse#122114 ·
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 92/100
linebender/vello_svg#90 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100