Resultados de la búsqueda a petición "borrow-checker"

3 la respuesta

Desea agregar a HashMap usando la coincidencia de patrones, obtenga préstamos mutables más de una vez a la vez

Estoy tratando de escribir un código de juguete que almacene la cantidad de veces que ve una palabra en unHashMap. Si la clave existe, incrementa un contador en uno, si la clave no existe, la agrega con el valor1. Instintivamente quiero hacer ...

2 la respuesta

¿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: ...

3 la respuesta

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 ...

2 la respuesta

no se puede mover fuera del contenido prestado al desenvolver una variable miembro en un método & mut self

Estaba tratando de hacer una estructura de datos Disjoint-Set en Rust. El código relevante es: pub struct Set<'a, T: 'a> { rank: u32, value: T, parent: Option<&'a mut Set<'a, T>>, } impl<'a, T> Set<'a, T> { pub fn find(&'a mut self) -> &'a mut ...

2 la respuesta

"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 ...

1 la respuesta

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 ...

2 la respuesta

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> ...

1 la respuesta

"El valor prestado no vive lo suficiente" cuando se usa as_slice ()

Me encontré con un error: extern crate rustc_serialize; // 0.3.24 use rustc_serialize::base64::{self, FromBase64, ToBase64}; fn main() { let a: [u8; 30] = [0; 30]; let b = a.from_base64().unwrap().as_slice(); println!("{:?}", b); }El ...

2 la respuesta

El valor prestado no dura lo suficiente al crear un Vec

Nota del editor: esta pregunta se hizo antes de Rust 1.0. Desde entonces, muchas funciones y tipos han cambiado, al igual que ciertas semánticas del lenguaje. El código en la pregunta ya no es válido, pero las ideas expresadas en las respuestas ...

1 la respuesta

Obtenga un campo de enumeración de una estructura: no puede salir del contenido prestado

Soy nuevo en Rust y estoy tratando de entender el concepto de propiedad / préstamo. Ahora he reducido mi código a esta muestra de código mínimo que da un error de compilación. pub struct Display { color: Color, } pub enum Color { Blue = 0x1, Red ...