Resultados da pesquisa a pedido "lifetime"
Que membro do sindicato se torna ativo após a colocação de novos
Em relação a este código: #include <string> int main() { union u { u() { i = 0; } ~u() {} int i; std::string s1; std::string s2; } u; new (&u) std::string{}; } [intro.object] / 2 [https://timsong-cpp.github.io/cppwp/n4659/intro.object#2] diz ...
Como faço para formatar! retornar um & str a partir de uma expressão condicional?
Eu me deparei com este problema em queformat! cria um valor temporário em um padrão que não está ancorado em nada, tanto quanto eu o entendo. let x = 42; let category = match x { 0...9 => "Between 0 and 9", number @ 10 => format!("It's a {}!", ...
Por que é possível ter várias referências mutáveis com vida útil estática no mesmo escopo
Por que posso ter várias referências mutáveis para um tipo estático no mesmo escopo? Meu código [https://play.rust-lang.org/?gist=1b6f7813c35facba71783ca15ae1b4e6]: static mut CURSOR: Option<B> = None; struct B { pub field: u16, } impl B { ...
Como atribuir à variável usada na expressão de correspondência dentro de um ramo de correspondência?
Estou tentando implementar uma função geraljoin() que pode funcionar em qualquer iterador de iteradores. Estou com um problema com o verificador de empréstimo em ummatch expressão dentro donext() implementação de método. Aqui está uma ...
Como chamo uma função que requer uma vida útil estática com uma variável criada em main?
Eu tenho uma estrutura definida que tem uma função que define uma vida estática: impl MyStruct { pub fn doSomething(&'static self) { // Some code goes here } }Eu estou consumindo do main assim: fn main() { let obj = MyStruct {}; ...
O que são vidas não-lexicais?
A ferrugem tem umRFC [https://github.com/rust-lang/rfcs/blob/master/text/2094-nll.md]relacionados a vidas não-lexicais queFoi aprovado [https://github.com/rust-lang/rfcs/pull/2094] para ser implementado na linguagem por um longo ...
Empréstimo mutável em um loop
Eu tenho o seguinte código: struct Baz { x: usize, y: usize, } struct Bar { baz: Baz, } impl Bar { fn get_baz_mut(&mut self) -> &mut Baz { &mut self.baz } } struct Foo { bar: Bar, } impl Foo { fn foo(&mut self) -> Option<&mut Baz> { for i in ...
Como especificar limites de vida útil para um fechamento envolvendo referências a variáveis locais intermediárias?
Estou tentando escrever uma função como a seguinte no Rust: fn double_and_square<'a, T>(x: &'a T) -> /* whatever the output type of `&t * &t` is */ { let t = x + x; &t * &t }Eu quero que ele funcione em tipos ondeT é nãoCopy. Eu preciso ...
Qual é a diferença entre '& self' e '&' a self '?
Recentemente, tive um erro que foi simplesmente resolvido alterando impl<'a> Foo<'a> { fn foo(&'a self, path: &str) -> Boo<'a> { /* */ } }para impl<'a> Foo<'a> { fn foo(&self, path: &str) -> Boo { /* */ } }o que não fazia sentido de acordo com ...
Como resolver erro de vida útil para referência mutável em Rust?
Não sei por que o código a seguir não é compilado. 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 MyItr<'a> ...