タグ付けされた質問 「borrow-checker」

2
値とその値への参照を同じ構造体に格納できないのはなぜですか?
私には値があり、その値とその値内の何かへの参照を自分のタイプで保存したい: struct Thing { count: u32, } struct Combined<'a>(Thing, &'a u32); fn make_combined<'a>() -> Combined<'a> { let thing = Thing { count: 42 }; Combined(thing, &thing.count) } 時々、私は値を持っていて、その値とその値への参照を同じ構造に保存したいと思います: struct Combined<'a>(Thing, &'a Thing); fn make_combined<'a>() -> Combined<'a> { let thing = Thing::new(); Combined(thing, &thing) } 時々、値の参照すらしていなくても同じエラーが発生します: struct Combined<'a>(Parent, Child<'a>); fn make_combined<'a>() …

1
借用したコンテンツから移動できない、または共有参照の背後から移動できない
エラーがわかりませんcannot move out of borrowed content。何度も受け取って解決してきましたが、なぜなのかわかりません。 例えば: for line in self.xslg_file.iter() { self.buffer.clear(); for current_char in line.into_bytes().iter() { self.buffer.push(*current_char as char); } println!("{}", line); } エラーを生成します: error[E0507]: cannot move out of borrowed content --> src/main.rs:31:33 | 31 | for current_char in line.into_bytes().iter() { | ^^^^ cannot move out of borrowed …

1
ネストされた配列インデックスで「変更可能としても借りられるため、不変として借りることができない」とはどういう意味ですか?
この場合のエラーの意味: fn main() { let mut v: Vec<usize> = vec![1, 2, 3, 4, 5]; v[v[1]] = 999; } error[E0502]: cannot borrow `v` as immutable because it is also borrowed as mutable --> src/main.rs:3:7 | 3 | v[v[1]] = 999; | --^---- | | | | | immutable borrow occurs here …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.