Avatar
うーん、両方書かないと通らないですね。一応、実用的には↓のように何らかのメソッドがあると思うので、明示的に typealias を書かなくてもコンパイルは通ります。 protocol A { associatedtype TypeA func foo() -> TypeA } protocol B { associatedtype TypeB func bar() -> TypeB } protocol C: A, B where TypeA == TypeB { } struct Hoge: C { func foo() -> Int { return 2 } func bar() -> Int { return 3 } }