中級 › E0106: missing lifetime specifier の原因と直し方 › パターン2
E0106: missing lifetime specifier の原因と直し方
参照を返す関数で、その参照が複数の引数のどちらに由来するのかコンパイラが判断できない場合、E0106エラーになります。
1 ___________________________________________________ ^ 2 if x.len() < y.len() { x } else { y } 3 } 4 5 fn main() { 6 println!("{}", shorter("abc", "de")); 7 }
error[E0106]: missing lifetime specifier
空欄を埋めて実行を通す
2つの参照引数から1つを選んで返す関数は、ライフタイム注釈が無いと戻り値の由来が曖昧になります。
次の問題