借用まわりで質問させてくれ
struct Foo {
data: Option<Vec<u8>>
}
impl Foo {
fn do_something(&mut self) -> &mut [u8] {
if let Some(x) = &mut self.data {
return x;
}
// `self.data` is assigned to here but it was already borrowed
self.data = Some(vec![0u8; 10]);
self.data.as_mut().unwrap()
}
}
これで self.data への代入の際に「既に借用されている」というエラーが出るんだけど、これって回避できない?
最初の借用が if let Some(x) = ... の箇所で行われていることは理解できるんだけど、
if let のスコープを抜けても借用された状態が続く (以降のコードでの借用ができない) のが腑に落ちない
探検
Rust part26
■ このスレッドは過去ログ倉庫に格納されています
781デフォルトの名無しさん
2024/11/11(月) 22:59:26.02ID:8PeapwRR■ このスレッドは過去ログ倉庫に格納されています
ニュース
- NY円、一時1ユーロ=180円台まで下落…1999年のユーロ導入以来初 [蚤の市★]
- 国内ホテル、既にキャンセルも 訪日客関連業界、事態見守る ★3 [蚤の市★]
- 【外交】日中関係悪化、長期化の様相 2012年には自動車輸出80%減も ロイター★3 [1ゲットロボ★]
- 橋下徹氏 外務省幹部の訪中受け「口だけ番長」へ痛烈指摘 「喧嘩は日本の完敗…なんとかっこ悪い日本か」★2 [冬月記者★]
- 「どうしようもない」 ため息つくアジアの玄関口 中国の訪日自粛で−福岡市 [蚤の市★]
- NHK、受信料の未払い世帯に督促強化へ 民事手続きの新組織を設置 差し押さえなどの強制執行も ★2 [1ゲットロボ★]
- 識者「『フリーパレスチナ』とかイキってる連中が台湾の話になると『中国を怒らせるな!』ってなる。ほんと左翼の正義って薄っぺらい」 [279254606]
- ナルシスト高市早苗、「汚い首」と言われたのがメチャクチャ効いて激昂反発か。関係修復は絶望的に…😰 [153490809]
- 日本株、大暴落!!! [252835186]
- 【超悲報】中国への武力行使、世論調査で「賛成」「どちらかといえば賛成」48.8% 「反対」「どちらかといえば反対」の44.2%を上回る [314039747]
- んなっても良いお🏡
- 【悲報】高市早苗を妄信している今の日本人見ると80年前も市民は進んで戦争協力してたんだって理解出来るよね🥺 [616817505]
