Resultados da pesquisa a pedido "rust"

1 a resposta

Por que a variável não vive por tempo suficiente?

Considere esta função que deve retornar a extensão do arquivo de um determinadoPath. pub fn get_extension<'a>(path: &'a Path) -> Option<&'a str> { let path_str = path.as_str().unwrap(); let ext_pos = regex!(".[a-z0-9]+$").find(path_str); match ...

2 a resposta

Como um operador pode ser sobrecarregado para diferentes tipos de RHS e valores de retorno?

Dada a seguinte estrutura: struct Vector3D { x: f32, y: f32, z: f32 }Eu quero sobrecarregar sua* operador para fazer um produto escalar quando o lado direito é umVector3De fazer uma multiplicação por elementos quando o RHS é umf32. Meu código ...

3 a resposta

Alguns e Nenhum, o que são?

Ao programar alguns pequenos exercícios para iniciantes tentando se acostumar com o Rust, me deparei com algumas saídas que não entendo usarVec::get. Aqui está o código: fn main() { let command = [('G', 'H'), ('H', '5')]; for i in 0..3 { ...

3 a resposta

Implementar automaticamente características do tipo fechado para os novos tipos de ferrugem (estruturas de tupla com um campo)

No Rust, estruturas de tupla com apenas um campo podem ser criadas da seguinte maneira: struct Centimeters(i32);Eu quero fazer aritmética básica comCentimeters sem extrair seus valores "internos" toda vez com a correspondência de padrões e ...

1 a resposta

Como passo uma matriz para uma função no Rust e altero seu conteúdo?

Eu quero passar uma matriz para uma função e alterar o conteúdo dentro dela. Como posso fazer isso, este é o meu código abaixo, mas é claro que não funciona. fn change_value(mut arr: &[int]) { arr[1] = 10; } fn main() { let mut arr: [int, ..4] = ...

1 a resposta

Erro de vida útil da ferrugem esperado vida útil concreta, mas encontrou vida útil limitada

Estou tendo um problema ao trabalhar com parâmetros de vida útil para estruturas. Não tenho 100% de certeza de como descrever o problema, mas criei um caso trivial que mostra meu erro de tempo de compilação. struct Ref; struct Container<'a> { r ...

3 a resposta

Como crio duas novas fatias mutáveis a partir de uma fatia?

Gostaria de pegar uma fatia mutável e copiar o conteúdo em duas novas fatias mutáveis. Cada fatia é metade do original. Minha tentativa 1: let my_list: &mut [u8] = &mut [0, 1, 2, 3, 4, 5]; let list_a: &mut [u8] = my_list[0..3].clone(); let ...

1 a resposta

É possível escrever uma macro Rust que será expandida para uma assinatura de função / método?

Gostaria muito de poder algo como o seguinte: macro_rules! impl_a_method( ($obj:ident, $body:block) => ( fn a_method(foo: Foo, bar: Bar, baz: Baz) -> $obj $body ) ) // Implementation would look like: impl_a_method!(MyType, { MyType { foo: ...

1 a resposta

Diferenças na inferência de tipo para fechamentos e funções em ferrugem

Por que é possível inferir os tipos de argumentos e o tipo de retorno para uma expressão de fechamento, enquanto não para uma função enferrujada?

4 a resposta

Por que não imprime! trabalhar em testes de unidade Rust?

Implementei o seguinte método e teste de unidade: use std::fs::File; use std::path::Path; use std::io::prelude::*; fn read_file(path: &Path) { let mut file = File::open(path).unwrap(); let mut contents = String::new(); file.read_to_string(&mut ...