環境
- rust 1.58.1
やりたかったこと
vec
のCloneをしたかった。
答え
let v = vec!["1".to_string(),"2".to_string(),"3".to_string()]; // こんなvecがあったとして
let v2 = v.to_vec(); // これでできる
// 自前structの場合もCloneをつけておけば
#[derive(Debug, Clone)]
struct S1(Result<String, String>);;
let ss1 = v.into_iter()
.map(|x| S1(Ok(x.to_string())))
.collect::<Vec<S1>>();
let ss2 = ss1.to_vec(); // こんな感じでCloneできます
備考
- いろんな方法があるかとは思うが、これが一番簡単そうだった
- 探し当てるのに少し時間かかったのでメモ