Resultados da pesquisa a pedido "lifetime"
<'A,' b: 'a> significa que a vida' b deve sobreviver à vida 'a?
Eu quero implementar um construtor semelhante à depuraçãoconstrutores [https://github.com/rust-lang/rust/blob/8a3f5af8c98e123247a2847c52474f42874d23fa/src/libcore/fmt/builders.rs] definido pela biblioteca padrão. Eles são definidos usando ...
Como a vida útil funciona em strings / literais de strings constantes?
Eu li otutorial no site oficial [https://doc.rust-lang.org/stable/book/first-edition/lifetimes.html]e eu tenho algumas perguntas sobre o tempo de vida de constantes strings / strings literais. Eu recebo um erro quando escrevo o seguinte ...
Como declarar uma vida para um argumento de fechamento?
Gostaria de declarar uma vida inteira para um fechamento no Rust, mas não consigo encontrar uma maneira de adicionar uma declaração vitalícia. use std::str::SplitWhitespace; pub struct ParserError { pub message: String, } fn ...
Por que as vidas explícitas são necessárias no Rust?
Eu estava lendo ocapítulo das vidas [https://doc.rust-lang.org/book/first-edition/lifetimes.html]do livro Rust e me deparei com este exemplo por um tempo de vida nomeado / explícito: struct Foo<'a> { x: &'a i32, } fn main() { let x; // -+ x goes ...
Emprestando referência e guarda juntos de um Mutex
Estou tentando encapsular algum código para evitar repeti-lo, relacionado ao empréstimo de dados de um Mutex e a operações posteriores (que deixo de fora dessa questão como fora do escopo, mas são os fatores motivadores). O seguinte código de ...
Por que não consigo armazenar um valor e uma referência a esse valor na mesma estrutura?
Eu tenho um valor e quero armazenar esse valor e uma referência a algo dentro desse valor no meu próprio tipo: struct Thing { count: u32, } struct Combined<'a>(Thing, &'a u32); fn make_combined<'a>() -> Combined<'a> { let thing = Thing { count: ...
Existe alguma maneira de retornar uma referência a uma variável criada em uma função?
Eu quero escrever um programa que irá gravar um arquivo em 2 etapas. É provável que o arquivo não exista antes da execução do programa. O nome do arquivo é fixo. O problema é queOpenOptions.new().write() pode falhar. Nesse caso, quero chamar uma ...
As referências de encadeamento requerem vida estática?
Embora faça sentido intuitivamente que as referências passadas para threads gerados precisem ter vida estática, não sei ao certo o que exatamente está fazendo o seguinte código não ser compilado: use std::sync::Arc; use std::sync::Mutex; struct ...
Retornando o iterador de um Vec em um RefCell
Dado o seguintestruct eimpl: 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() {}Recebo uma mensagem de erro sobre um problema ...
Erro de verificação de empréstimo com a variável que não vive o tempo suficiente no lambda aninhado
Estou recebendo um erro dentro de uma lambda aninhada. 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<_>>(); ...