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

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

2 la respuesta

¿Por qué no puedo almacenar un valor y una referencia a ese valor en la misma estructura?

Tengo un valor y quiero almacenar ese valor y una referencia a algo dentro de ese valor en mi propio tipo: struct Thing { count: u32, } struct Combined<'a>(Thing, &'a u32); fn make_combined<'a>() -> Combined<'a> { let thing = Thing { count: 42 ...

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

2 la respuesta

¿Cómo puedo mutar otros elementos de un HashMap cuando uso el patrón de entrada?

Me gustaría usar unaHashMap para almacenar en caché un cálculo costoso que depende de otras entradas en el mapa. El patrón de entrada solo proporciona una referencia mutable al valor coincidente, pero no al resto deHashMap. Realmente agradecería ...

4 la respuesta

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

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

1 la respuesta

l error de préstamo doble mutable en un bucle ocurre incluso con NLL en

Supongo que tengo varias estructuras como en el siguiente ejemplo, y en lanext() método Necesito extraer el próximo evento utilizando un búfer proporcionado por el usuario, pero si este evento es un comentario e ignorar el indicador ...

2 la respuesta

Implementando un take_while “cauteloso” usando Peekable

Me gustaria usarPeekable como base para un nuevocautious_take_while operación que actúa comotake_while deIteratorExt pero sin consumir el primer artículo fallido. (Hay una pregunta secundaria sobre si esta es una buena idea, y si hay mejores ...

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

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