全パスで Vec<T> で返すか Box<dyn Iterator<Item =T>> で Option<T> か Vec<T> を返すかの二択しか思い付かない
あるいは、返り値を BTreeMap に書き込むことが確定しているのでそこも込みで関数内でやってしまうかだな
https://github.com/kb10uy/declavatar/blob/master/declavatar/src/avatar_v2/transformer/layer.rs#L425-L431
これの話です
内部表現が Vec<(Vec<TrackingTarget>, bool)> 相当になっていてこれを Iterator<Item = (TrackingTarget, bool)> 相当に展開する作業で必要みたいな感じです
&mut BTreeMap を受け取るスタイル書いてみたけど微妙だしやっぱり Either かなあ
Mastodon is the best way to keep up with what's happening.
Follow anyone across the fediverse and see it all in chronological order. No algorithms, ads, or clickbait in sight.