Resultados de la búsqueda a petición "borrow-checker"
No se puede salir del contenido prestado al desenvolver
Este es el código que estoy tratando de ejecutar: fn my_fn(arg1: &Option<Box<i32>>) -> (i32) { if arg1.is_none() { return 0; } let integer = arg1.unwrap(); *integer } fn main() { let integer = 42; my_fn(&Some(Box::new(integer))); }(en el patio ...
Error de verificación de préstamo con variable que no vive lo suficiente en lambda anidada
Recibo un error dentro de una lambda anidada. let rows = vec![ vec![3, 6, 2, 8, 9, 0], vec![0, 0, 1, 4, 5, 1], ]; let pair_sums = rows.iter() .flat_map(|row| { (0 ..= row.len()).map(|i| row[i] + row[i + 1]) }) .collect::<Vec<_>>(); ...
¿Cómo puedo modelar un mapa bidireccional sin molestar al verificador de préstamos?
De¿Por qué no puedo almacenar un valor y una referencia a ese valor en la misma estructura? [https://stackoverflow.com/questions/32300132/why-cant-i-store-a-value-and-a-reference-to-that-value-in-the-same-struct] Aprendí que no puedo almacenar un ...
"No se puede mover fuera de la variable porque está prestada" al rotar las variables
Estoy escribiendo un programa que escribe en un archivo y rota el archivo en el que está escribiendo de vez en cuando. Cuando verifico para rotar el archivo, parece que no puedo cambiar el archivo ya que mi estructura lo tomó prestado. Incluso si ...
Iterando sobre un vector de referencias mutables a objetos de rasgos
tengo unstruct que contiene referencias mutables a objetos de rasgos: trait Task { fn do_it(&mut self); } struct Worker<'a> { tasks: Vec<&'a mut Task>, }En un método deWorker, Quiero iterar sobre las tareas y llamar a susdo_it: impl<'a> ...
La mejor manera de eliminar elementos de Vec dependiendo de otros elementos de la misma Vec
Tengo un vector de conjuntos y quiero eliminar todos los conjuntos que son subconjuntos de otros conjuntos en el vector. Ejemplo: a = {0, 3, 5} b = {0, 5} c = {0, 2, 3}En este caso me gustaría eliminarb, porque es un subconjunto dea. Estoy bien ...
Por qué los cierres de iterador anidados no copiarán valores del ámbito externo
Estoy tratando de usar iteradores anidados, donde el iterador interno usa el valor del iterador externo. vec![0;10].iter().flat_map(|&a| { (0..10).map(|b|{ a + b }) });error:a no vive lo suficiente (0..10).map(|b|{ ^^^nota: la referencia debe ...
¿Quién tomó prestada una variable?
Estoy peleando con el verificador de préstamos. Tengo dos piezas de código similares, una que funciona como esperaba y la otra no. El que funciona como espero: mod case1 { struct Foo {} struct Bar1 { x: Foo, } impl Bar1 { fn f<'a>(&'a mut self) ...
¿Estoy implementando IntoIterator incorrectamente para una referencia a una implementación de LazyList o es un error de óxido?
Al implementar una versión de LazyList (una lista inmutable, memorablemente calculada, enlazada individualmente, al igual que las listas de Haskell), me he encontrado con un problema de implementaciónIntoIterator en que el código no suelta la ...
¿Cómo usar el miembro de una estructura como su propia clave al insertar la estructura en un mapa sin duplicarla?
¿Es posible insertar una estructura en un mapa donde la clave es propiedad del valor que se está insertando? Cuando uso hash-maps en C, esto es algo a lo que estoy acostumbrado. Ejemplo de pseudocódigo: struct MyStruct { pub map: ...