Resultados de la búsqueda a petición "lifetime"
Préstamo de referencia y guardia juntos desde un Mutex
Estoy tratando de encapsular algún código para evitar repetirlo, en relación con el préstamo de datos de un Mutex y otras operaciones posteriores (lo que dejo fuera de esta pregunta como fuera de alcance, pero son los factores motivadores). El ...
¿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 ...
¿Hay alguna forma de devolver una referencia a una variable creada en una función?
Quiero escribir un programa que escriba un archivo en 2 pasos. Es probable que el archivo no exista antes de ejecutar el programa. El nombre del archivo es fijo. El problema es eseOpenOptions.new().write() puede fallar En ese caso, quiero llamar ...
¿Las referencias de hilos requieren una vida útil estática?
Si bien tiene sentido intuitivamente que las referencias pasadas a subprocesos generados deben tener una vida útil estática, no tengo claro qué hace exactamente que el siguiente código no se compile: use std::sync::Arc; use std::sync::Mutex; ...
Retornante iterador de un Vec en un RefCell
Dado lo siguientestruct yimpl: use std::slice::Iter; use std::cell::RefCell; struct Foo { bar: RefCell<Vec<u32>>, } impl Foo { pub fn iter(&self) -> Iter<u32> { self.bar.borrow().iter() } } fn main() {}Recibo un mensaje de error sobre ...
¿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 ...
Error de verificación de préstamo con variable que no vive lo suficiente en lambda anidada
Recibo un error dentro de una lambda anidada. let rows = vec![ vec![3, 6, 2, 8, 9, 0], vec![0, 0, 1, 4, 5, 1], ]; let pair_sums = rows.iter() .flat_map(|row| { (0 ..= row.len()).map(|i| row[i] + row[i + 1]) }) .collect::<Vec<_>>(); ...
¿Cómo especifico parámetros de por vida en un tipo asociado?
Tengo este rasgo y estructura simple: use std::path::{Path, PathBuf}; trait Foo { type Item: AsRef<Path>; type Iter: Iterator<Item = Self::Item>; fn get(&self) -> Self::Iter; } struct Bar { v: Vec<PathBuf>, }Me gustaría implementar elFoo rasgo ...
No se puede llamar a una función en un subproceso generado porque "no cumple la vida útil requerida"
Puedo ejecutar este código fn testf(host: &str) {} fn start(host: &str) { testf(host); testf(host); }pero por alguna razón, no puedo ejecutar este: fn testf(host: &str) {} fn start(host: &str) { thread::spawn(move || testf(host)); ...
Problema de por vida con un rasgo de mayor rango y cierres en caja
Estoy tratando de escribir una función que devuelva un cierre en caja que pueda funcionar en referencias a tipos con cualquier duración. Al escribir una instancia específica, todo funciona bien. Pero cuando escribo una versión genérica, me ...