Getting a slice out of an ArrayView: cannot return value referencing function parameter
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 25/100
Línea de trabajo
Start with the minimal Rust example and the call at simulate/src/system_serialization.rs:58. Read the ArrayView, as_slice_memory_order, and aview1 definitions to understand the lifetime relationship, then reproduce the compiler error with the reported example. Done means establishing a supported way to construct the one-dimensional view, or documenting why the attempted conversion cannot compile.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
I am trying to write a function that interprets an ArrayView as row major order, but Rust doesn't like me extracting the slice underlying the ArrayView. Here is a mimimal example showing the problem:
fn as_standard_view<'a, T>(a: ArrayView<'a, T, Ix2>) -> ArrayView<'a, T, Ix1> {
let slice = a.as_slice_memory_order().unwrap();
aview1(slice)
}
This is the associated error:
error[E0515]: cannot return value referencing function parameter `a`
--> simulate/src/system_serialization.rs:58:5
|
57 | let slice = a.as_slice_memory_order().unwrap();
| - `a` is borrowed here
58 | aview1(slice)
| ^^^^^^^^^^^^^ returns a value referencing data owned by the current function
I do understand the error, but I am not sure how to work around it. After all, the slice is held by the ArrayView, but not the data itself.
Any idea how to construct thay ArrayView without rust thinking that I am trying to reference something inside the function?
- Lenguaje dominante
- Rust
- Estrellas
- 4.3k
- Forks
- 391
- Métricas de merge de PR
- Sin PR fusionados en 30 d
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 rust-ndarray/ndarray
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
rust-ndarray/ndarray#1612 · 1 comentario ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
rust-ndarray/ndarray#1617 · 1 comentario ·
-
Stack overflow in `triu` Abiertobug good first issue
Dificultad 3/5 1-2 días Aptitud para principiantes 68/100
rust-ndarray/ndarray#1615 · 1 comentario ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
rust-ndarray/ndarray#1610 ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 72/100
rust-ndarray/ndarray#1609 ·
Todos los issues de rust-ndarray/ndarray
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