Resultados da pesquisa a pedido "rust"
Por que o compilador não reclama que um iterador movido para um loop for é imutável?
Estou lendo a segunda edição do Rust Book e encontrei o seguinte exemplo na seção de iteradores: let v1 = vec![1, 2, 3]; let v1_iter = v1.iter(); for val in v1_iter { println!("Got: {}", val); }Por que o compilador não reclama quev1_iter ...
Incluir git commit hash como string no programa Rust
Eu hospedo um projeto Rust no repositório git e quero fazê-lo imprimir a versão em algum comando. Como posso incluir a versão no programa? Eu pensei que o script de construção poderia definir variáveis de ambiente que podem ser usadas durante a ...
Como evitar um efeito cascata de alterar uma estrutura concreta para genérica?
Eu tenho uma estrutura de configuração que se parece com isso: struct Conf { list: Vec<String>, }A implementação estava preenchendo internamente o membro "list", mas agora decidi que desejo delegar essa tarefa para outro objeto. Então eu ...
Emprestar dois valores mutáveis do mesmo HashMap
Eu tenho o seguinte código: use std::collections::{HashMap, HashSet}; fn populate_connections( start: i32, num: i32, conns: &mut HashMap<i32, HashSet<i32>>, ancs: &mut HashSet<i32>, ) { let mut orig_conns = conns.get_mut(&start).unwrap(); let ...
Qual é a otimização de ponteiro nulo no Rust?
NoAprendendo a ferrugem com listas vinculadas inteiramente demais [http://cglab.ca/~abeinges/blah/too-many-lists/book/first-layout.html], o autor menciona: No entanto, se tivermos um tipo especial de enum: enum Foo { A, B(ContainsANonNullPtr), ...
Falha ao analisar XML com um elemento opcional com serde-xml-rs
Eu tenho uma árvore de estruturas anotadas por serde e ela consegue analisar o XML de exemplo, incluindo este fragmento: <bmsg> <cmsg> <!-- ... --> <cmsg> <bmsg>Agora estou testando com um grande arquivo XML de amostra e as seguintes estruturas ...
Por que recebo o erro "a característica` Foo` não está implementada para `& mut T`" ", apesar de T implementar a característica?
Eu tenho esta fonte: pub fn draw<G, C>(&self, font: &mut C, draw_state: &DrawState, transform: Matrix2d, g: &mut G) where C: CharacterCache, G: Graphics<Texture = <C as CharacterCache>::Texture>, { self.properties.draw( self.text.as_str(), ...
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 ...
Por que o Rust permite a mutação através de um campo de referência usando uma ligação imutável?
Se eu tiver uma variável imutável vinculada a uma estrutura, o Rust geralmente não permitirá que eu mude os campos da estrutura ou os campos das estruturas filho de propriedade. No entanto, se o campo for uma referência mutável, Rustvaipermita ...
Desembrulhe ou continue em um loop
Considere isto: loop { let data = match something() { Err(err) => { warn!("An error: {}; skipped.", err); continue; }, Ok(x) => x }; let data2 = match somethingElse() { Err(err) => { warn!("An error: {}; skipped.", err); continue; }, Ok(x) => x ...