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

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

2 la respuesta

¿Por qué el uso de by_ref (). Take () difiere entre los rasgos Iterator y Read?

Aquí hay dos funciones: fn foo<I>(iter: &mut I) where I: std::iter::Iterator<Item = u8>, { let x = iter.by_ref(); let y = x.take(2); } fn bar<I>(iter: &mut I) where I: std::io::Read, { let x = iter.by_ref(); let y = x.take(2); } Mientras el ...

2 la respuesta

¿Cómo asignar a la variable utilizada en la expresión de coincidencia dentro de una rama de coincidencia?

Estoy tratando de implementar una función generaljoin() que puede funcionar en cualquier iterador de iteradores. Tengo un problema con el verificador de préstamos en unamatch expresión dentro delnext() implementación del método. Aquí hay una ...

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

1 la respuesta

¿Por qué puedo devolver una referencia a un literal local pero no a una variable?

¿Por qué se compila este código? fn get_iter() -> impl Iterator<Item = i32> { [1, 2, 3].iter().map(|&i| i) } fn main() { let _it = get_iter(); }[1, 2, 3] es una variable local yiter() lo toma prestado. Este código no debe compilarse porque el ...

1 la respuesta

No se puede pedir prestado de manera mutable dentro de dos cierres diferentes en el mismo alcance

Mi objetivo es hacer una función (específicamente, relleno) que funcione independientemente de la estructura de datos subyacente. Traté de hacer esto pasando dos cierres: uno para consultar, que toma prestados algunos datos de manera inmutable, y ...

1 la respuesta

Retomando la propiedad de una referencia mutable pasada a una función que acepta un tipo genérico

¿Por qué no compila este código? fn use_cursor(cursor: &mut io::Cursor<&mut Vec<u8>>) { // do some work } fn take_reference(data: &mut Vec<u8>) { { let mut buf = io::Cursor::new(data); use_cursor(&mut buf); } data.len(); } fn produce_data() { ...

1 la respuesta

¿Cómo puedo iterar simultáneamente sobre un Rust HashMap y modificar algunos de sus valores?

Estoy intentando Advent of Code in Rust este año, como una forma de aprender el idioma. Analicé la entrada (desde el día 7) en la siguiente estructura: struct Process { name: String, weight: u32, children: Vec<String>, parent: Option<String> ...

2 la respuesta

¿Cómo actualizar-o-insertar en un Vec?

Estoy escribiendo una estructura de datos en Rust. Contiene unVec de pares clave-valor. Al insertar en la estructura, necesito encontrar una clave coincidente y actualizar tanto la clave como el valor (que en realidad es un puntero secundario). ...

1 la respuesta

¿Por qué el parámetro "toma prestado" el valor? [duplicar]

Esta pregunta ya tiene una respuesta aquí: ¿Verificador de préstamos y argumentos de función en Rust, correcto o demasiado celoso? [duplicar] [/questions/41421107/borrow-checker-and-function-arguments-in-rust-correct-or-over-zealous] 1 ...