Tag: BORROW-CHECKER
¿Por qué el siguiente código en Rust arroja un error de doble préstamo mutable? Esperaría que el primer ámbito fuera el primer bloque, ya que los valores devueltos no pueden sobrevivir a este bloque, y el else if no se llamará si el primer if devuelve Some(arr). if let Some(arr) . . . Read more
De vez en cuando me encuentro con el mismo problema de tomar prestadas (o no tomar prestadas) variables mutables dentro de un bucle, y finalmente me senté y compilé un ejemplo mínimo. Como resultado, el código es un poco tonto, pero es la versión más corta que se me ocurrió . . . Read more
Tengo dos estructuras, Holder y Held. Holder contiene una referencia a Held. Held contiene un i32: struct Holder<‘a> { val: &’a Held, } <h1>[derive(Debug)]</h1> struct Held(i32); <p>Quiero crear 10 <code>Holder</code>s en un <code>Vec<></code> llamado <code>holders</code>. Como <code>Holder</code> toma una referencia a la estructura <code>Held</code>, también crearé un <code>Vec<></code> llamado <code>heldvals</code> . . . Read more
Tengo un enum que puede contener un tipo codificado (i32) o un tipo decodificado (String). Mi objetivo es escribir una función que convierta el enum al estado decodificado y devuelva una referencia, pero no puedo hacerlo: si cambio el contenido del enum primero, no puedo devolver una referencia. enum Foo . . . Read more
Tanto los métodos run como send necesitan un objeto self, y la función send también necesita una referencia mutable de Packet: struct Package { id: u32, } impl Package { fn new(id: u32) -> Package { Package { id } } } struct Manager { packages: Vec<Package>, } impl Manager . . . Read more