Avatar
omochimetaru 7/20/2017 1:48 AM
AnySequenceはSequenceプロトコルを満たす型をなんでも変換してAnySequenceにできて、それ自身Sequenceとして使える、という型で、その際にSequenceのassociated typeをAnySequenceの型パラメータに移している。AnySequenceから個別のSequenceに戻すときにはコピーをする。 @tarunon が作っているのは(なんでもEnumと仮称)、「case数とcaseごとのassociated valueの型」が同一であるenum型をなんでも変換できる型で、個別のEnum型がもっていたassociated valueの型を、なんでもEnumの型パラメータに移す(個数は型名自体に移す)、個別のEnum型に戻すときはコピーをする。 (edited)
1:49 AM
できていることは同じに思うけど、そもそも「case数とassociated valueの型が同じEnum型同士」はプロトコルではないし、表現方法が同じだけで本質的に互換性は無いもの同士なので、どこで使うんだろう?