Tag: BORROW-CHECKER
Considere el siguiente ejemplo: impl Foo { fn measure<‘a>(&’a self) -> Vec<&’a Bar> {…} <pre><code>fn try_action<‘a>(&’a mut self) -> Result<(), Vec<&’a Bar>> { let measurement = self.measure(); // esto crea referencias que podemos querer devolver desde este ámbito if measurement.is_empty() { drop(measurement); // solo para ser explícito y demostrar que . . . Read more
Estoy tratando de hacer un bucle anidado que mute objetos, salga del bucle en algún punto y lleve un registro de los últimos valores encontrados. El siguiente ejemplo inventado da una idea. El problema que tengo es que el chequeador de préstamos no me permite recorrer la colección y también . . . Read more
Soy nuevo en rust, y me pregunto por qué el siguiente código no produce un error de “no se puede mutar ‘val’ más de una vez a la vez”. Parece que para cuando llego a la función ‘second_layer’, debería tener tres referencias separadas a la misma variable ‘val’ original: ‘val_ref’ . . . Read more
Así que tengo un hashmap que utiliza cadenas como claves y los valores son mi propia estructura para usuarios. Que son solo su nombre y posición. pub struct User { name: String, x: i32, y: i32 } Ahora lo que quiero hacer es iterar sobre el hashmap llamado “users” y . . . Read more
Esto funciona bien: fn main() { let mut mystr = “this is my string”; println!(“{}”, mystr); mystr = “new string”; println!(“{}”, mystr); } Esto no funciona: fn change(s: &mut str) { s = “new string”; println!(“{}”, s); } fn main() { let mut mystr = “change me”; //change(mystr); //change(&mystr); //change(&mut . . . Read more