Avatar
omochimetaru 2/1/2019 3:06 AM
言語が提供する(ex)Pに対して、手動で ExistentialP : P を作って、そいつのinitで ==Pしか受け取れないようにして・・・ (edited)
3:06 AM
内部的にPじゃなくてExistentialPで保持するとか。
3:10 AM
protocol P { func a() } struct ExP : P { let p: P func a() { print("existential") } } class Actor<T: P> { let p: T init(_ p: P) { self.p = ExP(p: p) } init(_ p: T) { self.p = p } }
3:10 AM
こんな感じで解決できない?