Suchergebnisse für Anfrage "borrow-checker"

1 die antwort

"Geliehener Wert lebt nicht lange genug" bei Verwendung von as_slice ()

Ich bin auf einen Fehler gestoßen: extern crate rustc_serialize; // 0.3.24 use rustc_serialize::base64::{self, FromBase64, ToBase64}; fn main() { let a: [u8; 30] = [0; 30]; let b = a.from_base64().unwrap().as_slice(); println!("{:?}", b); }Der ...

4 die antwort

Leihprüfung für Eltern-Kind-Beziehung

Ich habe den folgenden Code, der die Fehlermeldung erzeugt, die in seinen Kommentaren markiert wird. Ich glaube, ich verstehe die Botschaft: Ich möchte Eltern zweimal ausleihen: einmal zum Finden ihres Kindes und einmal als Argument für das Kind ...

4 die antwort

Über einen Vektor veränderlicher Verweise auf Merkmalsobjekte iterieren

Ich habe einstruct enthält veränderbare Verweise auf Merkmalsobjekte: trait Task { fn do_it(&mut self); } struct Worker<'a> { tasks: Vec<&'a mut Task>, }In einer Methode vonWorker, Ich möchte die Aufgaben durchlaufen und ihr @ ...

TOP-Veröffentlichungen

4 die antwort

Warum kann ich einen Wert und eine Referenz auf diesen Wert nicht in derselben Struktur speichern?

Ich habe einen Wert und möchte diesen Wert und einen Verweis auf etwas in diesem Wert in meinem eigenen Typ speichern: struct Thing { count: u32, } struct Combined<'a>(Thing, &'a u32); fn make_combined<'a>() -> Combined<'a> { let thing = Thing { ...

2 die antwort

Kann beim Auspacken nicht aus geliehenen Inhalten entfernt werden

Dies ist der Code, den ich ausführen möchte: fn my_fn(arg1: &Option<Box<i32>>) -> (i32) { if arg1.is_none() { return 0; } let integer = arg1.unwrap(); *integer } fn main() { let integer = 42; my_fn(&Some(Box::new(integer))); }(uf dem ...

4 die antwort

kann nicht aus entliehenen Inhalten verschoben werden, wenn eine Mitgliedsvariable in einer & mut self-Methode entpackt wird

Ich habe versucht, eine Disjoint-Set-Datenstruktur in Rust zu erstellen. Der entsprechende Code lautet: pub struct Set<'a, T: 'a> { rank: u32, value: T, parent: Option<&'a mut Set<'a, T>>, } impl<'a, T> Set<'a, T> { pub fn find(&'a mut self) -> ...

2 die antwort

Warum werden geschachtelte Iterator-Closures keine Werte aus dem äußeren Gültigkeitsbereich kopieren?

Ich versuche, verschachtelte Iteratoren zu verwenden, wobei der innere Iterator den Wert des äußeren Iterators verwendet. vec![0;10].iter().flat_map(|&a| { (0..10).map(|b|{ a + b }) });Error:a lebt nicht lange genug (0..10).map(|b|{ ^^^note: ...

8 die antwort

Wer hat eine Variable ausgeliehen?

Ich kämpfe mit dem Leihschein. Ich habe zwei ähnliche Code-Teile, von denen einer wie erwartet funktioniert und der andere nicht. Der, der wie erwartet funktioniert: mod case1 { struct Foo {} struct Bar1 { x: Foo, } impl Bar1 { fn f<'a>(&'a ...

4 die antwort

Ausgeliehener Wert lebt beim Erstellen eines Vec @ nicht lange gen

Anmerkung der Redaktion: Diese Frage wurde vor Rust 1.0 gestellt. Seitdem haben sich viele Funktionen und Typen sowie bestimmte Sprachsemantiken geändert. Der Code in der Frage ist nicht mehr gültig, aber die Ideen, die in den ...

2 die antwort

Borrow-Check-Fehler bei Variable, die nicht lange genug in verschachteltem Lambda lebt

Ich erhalte einen Fehler in einem verschachtelten Lambda. let rows = vec![ vec![3, 6, 2, 8, 9, 0], vec![0, 0, 1, 4, 5, 1], ]; let pair_sums = rows.iter() .flat_map(|row| { (0 ..= row.len()).map(|i| row[i] + row[i + 1]) }) .collect::<Vec<_>>(); ...