Resultados de la búsqueda a petición "lifetime"

2 la respuesta

¿La variable movida sigue tomando prestado después de llamar a 'drop'?

fn main() { let mut x: Vec<&i32> = vec![]; let a = 1; x.push(&a); drop(x); // x.len(); // error[E0382]: use of moved value: `x` } // `a` dropped here while still borrowedEl compilador sabedrop() gotasx (como se desprende del error en el código ...

1 la respuesta

"No se puede inferir una vida útil adecuada para el patrón debido a requisitos contradictorios" en el patrón `ref mut`

struct RefWrap<'a> { wrap: &'a mut Option<String>, } impl<'a> RefWrap<'a> { fn unwrap(&mut self) -> &'a mut String { match *self.wrap { Some(ref mut s) => s, None => panic!(), } } }(Patio de ...

1 la respuesta

¿Cuál es la diferencia entre '& self' y '&' a self '?

Recientemente tuve un error que simplemente se resolvió cambiando impl<'a> Foo<'a> { fn foo(&'a self, path: &str) -> Boo<'a> { /* */ } }a impl<'a> Foo<'a> { fn foo(&self, path: &str) -> Boo { /* */ } }lo que no tenía sentido según mi ...

2 la respuesta

Al devolver el resultado de consumir un StdinLock, ¿por qué se retuvo el préstamo para stdin?

Dada la siguiente función: use std::io::{BufRead, stdin}; fn foo() -> usize { let stdin = stdin(); let stdinlock = stdin.lock(); stdinlock .lines() .count() }Esto no se compila con el siguiente error: error: `stdin` does not live long enough ...

2 la respuesta

¿Está permitido llamar al destructor explícitamente seguido de una nueva ubicación en una variable con una vida útil fija?

Sé que llamar a destructor explícitamente puede conducir a un comportamiento indefinido debido a la llamada de doble destructor, como aquí: #include <vector> int main() { std::vector<int> foo(10); foo.~vector<int>(); return 0; // Oops, ...

1 la respuesta

Cómo solucionarlo: vida útil esperada del concreto, pero encontrado parámetro de vida útil enlazado

Actualmente estoy sacando mi oído sobre este. Traté de reducirlo a un ejemplo reproducible mínimo. struct Request; struct ResponseWriter<'a> { dummy: &'a () } #[deriving(Clone)] pub struct RouteStore{ pub routes: Vec<Route>, } #[deriving(Clone)] ...

1 la respuesta

Cómo solucionarlo: no se puede inferir una vida útil adecuada para la coerción automática

Logré encontrarme nuevamente con un problema de por vida que parece que no puedo resolver por mi cuenta. El compilador me diceno puede inferir una vida útil adecuada para la coerción automática Traté de seguir la sugerencia de los ...

1 la respuesta

¿Por qué mi selección D3 guardada no tiene ningún efecto en algunos casos?

Estoy confundido acerca de cómo guardar una selección D3 para su uso posterior. En el siguiente código, tengo una variable "global" para mis ejes, en la que los guardo cuando se crean por primera vez. Más tarde, puedo usar esta variable ...

1 la respuesta

Error de vida útil de óxido esperado vida útil concreta pero encontrado vida útil limitada

Tengo un problema al trabajar con parámetros de por vida para estructuras. No estoy 100% seguro de cómo describir el problema, pero creé un caso trivial que muestra mi error de tiempo de compilación. struct Ref; struct Container<'a> { r : &'a ...

2 la respuesta

Alcance de Java y duración de la variable

Escribí el siguiente programa para mostrar todos los números primos entre 2 y 50 (inclusive). El programa se ejecutó según lo previsto, pero cuando volví a examinar el código me pregunté por qué no había fallado. losif declaración puede cambiar ...