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

1 la respuesta

Vidas en el óxido

De vez en cuando me encuentro con ganas de escribir funciones que se pueden llamar de dos maneras:

2 la respuesta

La función de óxido no tiene vida útil estática?

Estoy tratando de hacer esta compilación de código simple: fn dox(x: u8) -> u8 { x*2 } fn main() { let cb: &'static (Fn(u8) -> u8) = &dox; }Pero falla con Rust 1.9: x.rs:4:40: 4:43 error: borrowed value does not live long enough x.rs:4 let ...

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

¿Estoy implementando IntoIterator incorrectamente para una referencia a una implementación de LazyList o es un error de óxido?

Al implementar una versión de LazyList (una lista inmutable, memorablemente calculada, enlazada individualmente, al igual que las listas de Haskell), me he encontrado con un problema de implementaciónIntoIterator en que el código no suelta la ...

1 la respuesta

¿Qué es la elisión de por vida en términos muy simples?

Dela documentación de Rust [https://doc.rust-lang.org/book/first-edition/lifetimes.html#lifetime-elision]: Rust admite una poderosa inferencia de tipos locales en los cuerpos de funciones, pero deliberadamente no realiza ningún razonamiento ...

1 la respuesta

¿Por qué obtengo un error de por vida cuando uso una referencia mutable en una estructura en lugar de una referencia inmutable?

Este código funciona bien (Patio de recreo [https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=9669d3ea1996b28d7c353f14cc46297c] ): struct F<'a> { x: &'a i32, } impl<'a> F<'a> { fn get<'b>(&'b self) -> &'a i32 { self.x } } ...

1 la respuesta

¿Por qué es necesario agregar una vida útil a un rasgo con el operador más (Iterator <Item = & Foo> + 'a)?

Estoy aplicando un cierre en el iterador y quiero usar estable, así que quiero devolver un cuadroIterator. La forma obvia de hacerlo es la siguiente: struct Foo; fn into_iterator(myvec: &Vec<Foo>) -> Box<Iterator<Item = &Foo>> ...

2 la respuesta

Anotación de por vida para el argumento de cierre

Me gustaría compilar el siguiente código: struct Provider {} impl Provider { fn get_string<'a>(&'a self) -> &'a str { "this is a string" } } fn main() { let provider = Provider{}; let mut vec: Vec<&str> = Vec::new(); // PROBLEM: how do I say ...

4 la respuesta

Vida útil de los objetos en una colección en VB.Net

Estoy tratando de averiguar la vida útil de tmpTabPages en el siguiente bit de código. Supongamos que el formulario tiene un TabControl vacío llamado MyTabControl, que hay una colección de cadenas llamada NameCollection. Private Sub ...

1 la respuesta

¿Cómo resolver el error de por vida para la referencia mutable en Rust?

No estoy seguro de por qué el siguiente código no se compila. use std::cmp::Ordering; struct MyItr<'a> { cur: &'a i32, } impl<'a> Ord for MyItr<'a> { fn cmp(&self, other: &MyItr) -> Ordering { self.cur.cmp(&other.cur) } } impl<'a> PartialOrd for ...