Resultados da pesquisa a pedido "rust"

5 a resposta

Convertendo da opção <> para a opção <& str>

Muitas vezes eu obtive umOption<String> de um cálculo, e eu gostaria de usar esse valor ou um valor codificado padrão. Isso seria trivial com um número inteiro: let opt: Option<i32> = Some(3); let value = opt.unwrap_or(0); // 0 being ...

2 a resposta

Chamando o método Rust de C com parâmetros de matriz

Estou tentando chamar o código Rust do meu projeto C para um dispositivo incorporado. O dispositivo imprime pelo UART, para que eu possa ver qual é o resultado da minha chamada. O código C e Rust a seguir funciona como esperado (omiti muitos ...

1 a resposta

Convertendo um str para um & [u8]

Isso parece trivial, mas não consigo encontrar uma maneira de fazê-lo. Por exemplo, fn f(s: &[u8]) {} pub fn main() { let x = "a"; f(x) }Falha ao compilar com: error: mismatched types: expected `&[u8]`, found `&str` (expected slice, found str) ...

2 a resposta

Não é possível emprestar o `x` como mutável mais de uma vez por vez

No código a seguir (Parque infantil [https://play.rust-lang.org/?gist=19b3b350e48268057a11e0ce934049e9&version=stable&backtrace=0] ): struct Node { datum: &'static str, edges: Vec<Node>, } fn add<'a>(node: &'a mut Node, data: &'static str) -> ...

1 a resposta

Como mover um campo para fora de uma estrutura que implementa o atributo Drop?

Aqui está um programa Rust inválido (Rust versão 1.1) com uma função que solicita um cliente HTTP e retorna apenas os cabeçalhos, eliminando todos os outros campos na resposta. extern crate hyper; fn just_the_headers() -> ...

2 a resposta

Existe outra opção para compartilhar um arco em vários fechamentos além de cloná-lo antes de cada fechamento?

Eu tenho algo parecido com isto: use std::sync::Arc; fn main() { let arc = Arc::new(42); move || { arc.clone() }; move || { arc.clone() }; }Estou obtendo: error[E0382]: capture of moved value: `arc` --> src/main.rs:6:19 | 5 | move || ...

2 a resposta

Qual é a maneira correta de inicializar uma matriz de comprimento fixo?

Estou tendo problemas para inicializar uma matriz de comprimento fixo.Minhas tentativas até agora resultam no mesmo "uso de variável possivelmente ...

1 a resposta

Como converter uma referência de enumeração para um número?

Eu tenho um enum: enum Foo { Bar = 1, }Como converter uma referência a essa enum em um número inteiro para ser usado em matemática? fn f(foo: &Foo) { let f = foo as u8; // error[E0606]: casting `&Foo` as `u8` is invalid let f = foo as &u8; // ...

2 a resposta

É possível obter a expansão de uma única macro em vez do arquivo inteiro?

Acabei de encontrarComo vejo o código da macro expandida que está causando meu erro de compilação? [https://stackoverflow.com/questions/28580386/how-do-i-see-the-expanded-macro-code-thats-causing-my-compile-error/28580527] . É possível obter a ...

3 a resposta

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 ...