Als «rust» getaggte Fragen

Rust ist eine Systemprogrammiersprache ohne Garbage Collector, die sich auf drei Ziele konzentriert: Sicherheit, Geschwindigkeit und Parallelität. Verwenden Sie dieses Tag für Fragen zu in Rust geschriebenem Code. Verwenden Sie ein editionsspezifisches Tag für Fragen, die sich auf Code beziehen, für den eine bestimmte Edition erforderlich ist, z. B. [rust-2018]. Verwenden Sie spezifischere Tags für Unterthemen wie [Rostfracht] und [Rostmakros].

5
Wie drucke ich einen Vec?
Ich habe den folgenden Code ausprobiert: fn main() { let v2 = vec![1; 10]; println!("{}", v2); } Aber der Compiler beschwert sich: error[E0277]: `std::vec::Vec<{integer}>` doesn't implement `std::fmt::Display` --> src/main.rs:3:20 | 3 | println!("{}", v2); | ^^ `std::vec::Vec<{integer}>` cannot be formatted with the default formatter | = help: the trait `std::fmt::Display` …
73 rust  println 



2
Verweise auf Merkmale in Strukturen
Ich habe eine Eigenschaft Foo pub trait Foo { fn do_something(&self) -> f64; } und eine Struktur, die auf dieses Merkmal verweist pub struct Bar { foo: Foo, } Beim Versuch zu kompilieren bekomme ich error: reference to trait `Foo` where a type is expected; try `Box<Foo>` or `&Foo` Ändern …
72 rust  traits 

4
Gibt es eine Modulfunktion (nicht Restfunktion)?
In Rust (wie in den meisten Programmiersprachen) führt der %Operator die Restoperation aus , nicht die Moduloperation . Diese Operationen haben unterschiedliche Ergebnisse für negative Zahlen : -21 modulus 4 => 3 -21 remainder 4 => -1 println!("{}", -21 % 4); // -1 Ich möchte jedoch den Modul. Ich habe …
71 rust  modulo 

1
Was ist ein „grundlegender Typ“ in Rust?
Irgendwo habe ich den Begriff "Grundtyp" (und sein Attribut #[fundamental]) aufgegriffen und wollte gerade mehr darüber erfahren. Ich erinnere mich vage, dass es in einigen Situationen darum ging, die Kohärenzregeln zu lockern. Und ich denke, die Referenztypen sind solche grundlegenden Typen. Leider hat mich das Durchsuchen des Webs nicht sehr …
37 rust 



2
Warum ist `std :: mem :: drop` nicht genau dasselbe wie der Abschluss | _ | () in höherrangigen Merkmalsgrenzen?
Die Implementierung von std::mem::dropist wie folgt dokumentiert: pub fn drop<T>(_x: T) { } Als solches würde ich erwarten, dass der Verschluss |_| ()(umgangssprachlich als Toilettenverschluss bezeichnet ) ein potenzieller 1: 1-Ersatz für dropbeide Richtungen ist. Der folgende Code zeigt jedoch, dass er dropnicht mit einem höherrangigen Merkmal kompatibel ist , …


1
Wie kann ich eine asynchrone Funktion in eine Karte in Rust einfügen?
Ich kann keine asynchronen Funktionen verarbeiten, wenn ich einen asynchronen Router für schreibe hyper. Dieser Code: use std::collections::HashMap; use std::future::Future; type BoxedResult<T> = Result<T, Box<dyn std::error::Error + Send + Sync>>; type CalcFn = Box<dyn Fn(i32, i32) -> dyn Future<Output = BoxedResult<i32>>>; async fn add(a: i32, b: i32) -> BoxedResult<i32> { …
11 rust  async-await 

1
Kann ich Debug-Informationen nur für meinen Code ohne Pakete einfügen?
Mit den enthaltenen Debug-Informationen wird meine Binärdatei ungefähr 400 MB groß. Dies liegt daran, dass Rust Debug-Informationen für alle Abhängigkeiten enthält. Gibt es eine Möglichkeit, Debug-Informationen nur für meinen Code einzuschließen? [package] name = "app" version = "0.7.1" edition = "2018" [dependencies] actix = "*" actix-web = {version = "1.0", …
11 rust  rust-cargo 


1
Was ist der Unterschied zwischen `| _ | asynchrone Bewegung {} `und` asynchrone Bewegung | _ | {} `
Betrachten wir die folgenden Beispiele: main.rs use futures::executor::block_on; use futures::future::{FutureExt, TryFutureExt}; async fn fut1() -> Result<String, u32> { Ok("ok".to_string()) } fn main() { println!("Hello, world!"); match block_on(fut1().and_then(|x| async move { Ok(format!("{} is \"ok\"", x)) })) { Ok(s) => println!("{}", s), Err(u) => println!("{}", u) }; } Cargo.toml [dependencies] futures = …
10 rust 


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.