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

1
Wann sollte Inline in Rust verwendet werden?
Rust hat ein "Inline" -Attribut, das in einer dieser drei Varianten verwendet werden kann: #[inline] #[inline(always)] #[inline(never)] Wann sollten sie verwendet werden? In der Rust-Referenz sehen wir einen Abschnitt mit Inline-Attributen , in dem steht Der Compiler fügt Funktionen basierend auf internen Heuristiken automatisch ein. Falsches Inlining kann das Programm …

6
Wie erstelle ich ein HashMap-Literal?
Wie kann ich ein HashMap-Literal in Rust erstellen? In Python kann ich das so machen: hashmap = { 'element0': { 'name': 'My New Element', 'childs': { 'child0': { 'name': 'Child For Element 0', 'childs': { ... } } } }, ... } Und in Go so: type Node struct { …
80 hashmap  rust 

2
Was ist der Unterschied zwischen Verwendung und extern?
Ich bin neu bei Rust. Ich denke, das usewird verwendet, um Bezeichner in den aktuellen Bereich zu importieren und externum ein externes Modul zu deklarieren. Aber dieses Verständnis (vielleicht falsch) ergibt für mich keinen Sinn. Kann jemand erklären, warum Rust diese beiden Konzepte hat und welche Fälle geeignet sind, um …
80 rust 

4
Schritt für Schritt interaktiver Debugger für Rust?
Wie kann ich die Rust-Anwendung Schritt für Schritt interaktiv debuggen, wie ich es mit "pry" in Ruby tun kann? Ich möchte in der Lage sein, die Variablen in Echtzeit zu sehen und vorzugsweise zu ändern, wenn ich einen Haltepunkt erreiche. Gibt es ein produktionsfertiges Projekt?
80 debugging  rust 


4
Was ist Monomorphisierung im Kontext zu C ++?
Dave Hermans jüngster Vortrag in Rust sagte, dass sie diese Eigenschaft von C ++ ausgeliehen haben. Ich konnte nichts rund um das Thema finden. Kann jemand bitte erklären, was Monomorphisierung bedeutet?
78 c++  rust 

1
Was ist ein Kistenattribut und wo füge ich es hinzu?
Um ein Gefühl dafür zu bekommen, wie Rust funktioniert, habe ich mich für einen kleinen terminalbasierten Texteditor namens Iota entschieden . Ich habe das Repository geklont und bin cargo buildnur gelaufen , um zu erfahren: error: *if let* syntax is experimental help: add #![feature(if_let)] to the crate attributes to enable …
78 rust  rust-cargo 


4
Erstellen eines Vektors von Nullen für eine bestimmte Größe
Ich möchte einen Vektor von Nullen mit einer bestimmten Größe initialisieren, die zur Laufzeit festgelegt wird. In C wäre es wie: int main(void) { uint size = get_uchar(); int A[size][size]; memset(A, 0, size*size*sizeof(int)); } Hier ist die Hilfsfunktion, die ich versucht habe, in Rust zu schreiben, aber ich denke, die …
76 rust 

3
Wie stoppe ich die Iteration und gebe einen Fehler zurück, wenn Iterator :: map ein Ergebnis :: Err zurückgibt?
Ich habe eine Funktion, die Folgendes zurückgibt Result: fn find(id: &Id) -> Result<Item, ItemError> { // ... } Dann ein anderer, der es so benutzt: let parent_items: Vec<Item> = parent_ids.iter() .map(|id| find(id).unwrap()) .collect(); Wie gehe ich mit dem Fehlerfall in einer der mapIterationen um? Ich weiß, ich könnte verwenden flat_mapund …
76 rust  rust-result 


1
Wie unterscheidet sich die Syntax für <> von einer regulären Lebensdauergrenze?
Betrachten Sie den folgenden Code: trait Trait&lt;T&gt; {} fn foo&lt;'a&gt;(_b: Box&lt;dyn Trait&lt;&amp;'a usize&gt;&gt;) {} fn bar(_b: Box&lt;dyn for&lt;'a&gt; Trait&lt;&amp;'a usize&gt;&gt;) {} Beide Funktionen foound barscheinen ein zu akzeptieren Box&lt;Trait&lt;&amp;'a usize&gt;&gt;, obwohl fooes prägnanter ist als bar. Was ist der Unterschied zwischen ihnen? In welchen Situationen würde ich außerdem die oben …
75 rust 

2
Wie komponiere ich Funktionen in Rust?
Ich versuche eine Funktion zu schreiben, die zwei Funktionen zusammensetzt. Das anfängliche Design ist ziemlich einfach: Eine Funktion, die zwei Funktionen übernimmt und eine zusammengesetzte Funktion zurückgibt, die ich dann mit anderen Funktionen zusammenstellen kann, da Rust keine Ruheparameter hat. Ich bin auf eine Wand gestoßen, die mit frustrierenden, nicht …


2
Benötigen Sie eine ganzheitliche Erklärung zu Rusts Zellen- und Referenzzählertypen
In der Rust-Standardbibliothek gibt es mehrere Wrapper-Typen: Die Zellen im std::cellModul : CellundRefCell Die referenzgezählten Wrapper wie Rcund Arc. Die Typen im std::syncModul : Mutexoder AtomicBoolzum Beispiel Nach meinem Verständnis sind dies Wrapper, die weitere Möglichkeiten bieten als eine einfache Referenz. Obwohl ich einige Grundlagen verstehe, kann ich nicht das …
73 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.