Avatar
めっちゃ面白い事に気がついた protocol Foo { } struct FooStruct: Foo { } protocol FooProtocol: Foo { } protocol Bar { func accept(_ foo: FooStruct) func accept<X>(_ foo: X) where X: FooProtocol } class BarImpl: Bar { func accept<X>(_ foo: X) where X: Foo { } }
8:06 AM
このコンパイルが通る
8:06 AM
protocolで定義されたoverloadをprotocolのimplのタイミングで共通化できる、すごい (edited)