Avatar
omochimetaru 9/4/2018 4:15 AM
func h() -> opaque Comparable { return /* ... */ } var hArray = [h(), h(), h()] hArray.sort() // okay! the Element type is Comparable, and all types are the same
4:15 AM
↑こっちは地味に新しくできるようになること
4:17 AM
いままで AnyComparable を作ろうとしたら、 AnyComparableが2つあっても、それらを比較できなかった。 同じComparableが入ってるかわからんから。
4:22 AM
Existentials do not allow such an operation, even with generalized existentials, because two values of the same existential type may have different types at runtime.
4:23 AM
generalized existentialであってもそれができない、と言ってるから、この提案はGeneralized Existentialを超える良いアイデアって形で出てるのか・・・? なんでGEと別の話が湧いてきたのかよくわかっていない。