注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
概要: Rustでは Vec<T> とその要素への参照を同時に返すことはできないが、これを部分的に可能にするcra... 概要: Rustでは Vec<T> とその要素への参照を同時に返すことはできないが、これを部分的に可能にするcrateはある。 やりたいこと 以下のように、 Vec<T> とその要素への参照を同時に返したい。(あるいは、こういった組を構造体に格納したい。) fn foo() -> (Vec<i32>, &[i32]) { let v = vec![1, 2, 3]; let s = &v[1..2]; (v, s) } なぜできないか Rustのライフタイムの枠組みでは、上のように(もし仮にコンパイルが通った場合に)実際に動作するパターンと、以下のように未定義動作になるパターンを体系的に区別することができない。 fn foo_invalid1() -> (Vec<i32>, &[i32]) { let mut v = vec![1, 2, 3]; let s = &v[1..2]; v.p
2018/01/07 リンク