Resultados da pesquisa a pedido "borrow-checker"
Não é possível sair do conteúdo emprestado ao desembrulhar
Este é o código que estou tentando executar: fn my_fn(arg1: &Option<Box<i32>>) -> (i32) { if arg1.is_none() { return 0; } let integer = arg1.unwrap(); *integer } fn main() { let integer = 42; my_fn(&Some(Box::new(integer))); }(no playground ...
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<_>>(); ...
Como posso modelar um mapa bidirecional sem incomodar o verificador de empréstimos?
DePor que não consigo armazenar um valor e uma referência a esse valor na mesma estrutura? [https://stackoverflow.com/questions/32300132/why-cant-i-store-a-value-and-a-reference-to-that-value-in-the-same-struct] Aprendi que não posso armazenar um ...
"Não pode sair da variável porque é emprestado" ao girar variáveis
Estou escrevendo um programa que grava em um arquivo e gira o arquivo para o qual está gravando de vez em quando. Quando eu checo para girar o arquivo, não consigo mudar o arquivo, pois ele é emprestado pela minha estrutura. Mesmo se eudrop Na ...
Iterando sobre um Vetor de Referências Mutáveis para Objetos de Caracteres
eu tenho umstruct que contém referências mutáveis para objetos de características: trait Task { fn do_it(&mut self); } struct Worker<'a> { tasks: Vec<&'a mut Task>, }Em um método deWorker, Quero iterar sobre as tarefas e chamar ...
Melhor maneira de remover elementos do Vec, dependendo de outros elementos do mesmo Vec
Eu tenho um vetor de conjuntos e quero remover todos os conjuntos que são subconjuntos de outros conjuntos no vetor. Exemplo: a = {0, 3, 5} b = {0, 5} c = {0, 2, 3}Neste caso, gostaria de removerb, porque é um subconjunto dea. Estou bem com o ...
Por que os fechamentos de iteradores aninhados não copiam valores do escopo externo
Estou tentando usar iteradores aninhados, onde o iterador interno usa valor do iterador externo. vec![0;10].iter().flat_map(|&a| { (0..10).map(|b|{ a + b }) });erro:a não vive o suficiente (0..10).map(|b|{ ^^^nota: a referência deve ser válida ...
Quem pegou emprestada uma variável?
Estou brigando com o verificador de empréstimos. Eu tenho duas partes de código semelhantes, uma funcionando como eu esperava e a outra não. Aquele que funciona como eu esperava: mod case1 { struct Foo {} struct Bar1 { x: Foo, } impl Bar1 { fn ...
Estou implementando incorretamente o IntoIterator para fazer referência a uma implementação LazyList ou isso é um bug do Rust?
Ao implementar uma versão de um LazyList (uma lista vinculada memorizada imutável, computada preguiçosamente, memorizada e imutável, como as listas de Haskell), deparei-me com um problema de implementaçãoIntoIterator em que o código não descarta ...
Como usar o membro de uma estrutura como sua própria chave ao inserir a estrutura em um mapa sem duplicá-lo?
É possível inserir uma estrutura em um mapa onde a chave pertence ao valor que está sendo inserido? Ao usar mapas de hash em C, isso é algo que eu estou acostumado a fazer. Exemplo de pseudocódigo: struct MyStruct { pub map: BTreeMap<&String, ...