9
私は、可変ベクトルをRustの不変ベクトルに変換しようとしています。私はこれが働くだろうと思ったが、それはしていません:錆の変更可能なリファレンスを不変にするには?
let data = &mut vec![];
let x = data; // I thought x would now be an immutable reference
私は不変の結合に可変の参照を有効にするにはどうすればよいですか?
このコードは 'Vec'を返す関数内にあります。 '&* data'を返すと、' expected struct 'std :: vec :: Vec'、見つかった参照 'というエラーが出ます。 '* data * 'を返すと' '借用したコンテンツから移動できない'というエラーが出ます。それは借りチェッカーについて他に何かありますか?私はこれを解決した方法は 'data.clone()'を返すことですが、私はそれをより実行可能にしようとしていましたが、関数内でベクトルを作成しているので、たぶん私の質問に間違いがあったかもしれませんが、 'data'から' Vec 'を得るにはどうすればいいですか? –
jbrown
@jbrownあなたが 'let mut data = vec![1、2、3];と言っているように聞こえます。データを返す; '。 – Shepmaster
はい、それは私が探していたものです。ありがとう。私は変更についての錆の文書を再読するつもりです – jbrown