Avatar
var collection: ??? = [] for foo in foos { collection = collection.appended(foo) } みたいなのができない。
7:35 AM
??? の部分がループ回るごとに変わる。
7:36 AM
( Rust のシャドーイングみたいに?)型を上書きする仕組みが必要そう。アンロールしながら↑の collection の型をシャドーイングで上書きしていく。 (edited)
7:38 AM
現状だとそういうイテレーターをfor文に適合するように記述する規格が無いですね。
イテレートに関しては、新しい HeterogeneousSequence プロトコルとかを導入して、それに適合した型が for に渡された場合はコンパイラがアンロールっていう挙動に改造すればいけると思うんよね。
(edited)