Tag: LIFETIME
¿Alguien puede decir cuál es el error de tiempo de vida en el siguiente código? (simplificado de mi código actual) Lo he revisado yo mismo, pero no puedo entender qué está mal o cómo solucionarlo. “` use crate::helloworldcapnp::helloworld; use capnprpc::{rpctwopartycapnp, twoparty, RpcSystem}; use futures::AsyncReadExt; use futures::FutureExt; use std; pub async . . . Read more
Considere el siguiente ejemplo: impl Foo { fn measure<‘a>(&’a self) -> Vec<&’a Bar> {…} <pre><code>fn try_action<‘a>(&’a mut self) -> Result<(), Vec<&’a Bar>> { let measurement = self.measure(); // esto crea referencias que podemos querer devolver desde este ámbito if measurement.is_empty() { drop(measurement); // solo para ser explícito y demostrar que . . . Read more
Tengo una pregunta sobre las duraciones de vida. Tengo el siguiente código: async move { let futures = FuturesUnordered::new(); let subscriptions = database.get_subscribers_for(&msg).await?; for notifier in notifiers.iter() { futures.push(notifier.notify(&msg, &subscriptions)); } let results = futures.collect::<><result<(), ()=””>>>().await; results .into_iter() .filter(Result::is_err) .for_each(|result| error!(“Error al enviar la notificación: {}”, result.unwrap_err())); Ok(()) } Firma . . . Read more
En el siguiente fragmento de código: Rust let b: Vec = a.iter().filter(|x| *x > 5).map(|x| *x).collect(); ¿Existe alguna forma más fácil de hacer que “b” sea un vector de valores en lugar de referencias? (en lugar de “.map(|x| *x)”) ¿Existe algo así?: Rust fn iter_values(c: &Vec) -> std::iter::Map<std::slice::Iter, fn(&T) -> . . . Read more
Del libro de Rust programming language he llegado al capítulo de lifetimes. No puedo entender por qué es tan difícil para el compilador de Rust asignar automáticamente la duración más corta a los argumentos de la función de los parámetros pasados. Ejemplo: fn main() { let string1 = String::from(“abcd”); let . . . Read more