Avatar
omochimetaru 4/18/2017 9:13 AM
あ、そっちの話か。すいません。
9:14 AM
そっちの場合は、現状で、 func f <E, S : Sequence> (s: S) where S.Iterator.Element == E とかやったときに、 これを呼び出す時に引数に渡したArrayがSequenceとしてアップキャストされるときと、 同じような仕組みで実現されると思っていて
9:15 AM
その場合、protocol existential 的なものになっていて、 元々のArrayもコピーしてるけど、メソッド呼び出しは いったんprotocol witness tableっていう、仮想関数テーブルを経由する形になります
9:16 AM
9:16 AM
# 導入 Swiftでは通常のプロトコルは変数の型として使用することができますが、 型パラメータ(associated type)を持つジェネリックなプロトコルの変数は作れません。 非ジェネリックな例 ```swift prot...