Avatar
それぞれ別のassociatedtypeを持つprotocol A, B に適合したprotocol Cを作成した場合についての質問です。 protocol A, BそれぞれのassociatedtypeのTypeは同一なので、 struct適合時にはどちらか一つのみtypealiasを定義したいです。 しかし、protocol Cにてwhereで条件を書いても どちらか一方のprotocolに適合していないとコンパイルエラーが出てしまいます。。 この場合、何か策はあるのでしょうか? protocol A { associatedtype TypeA } protocol B { associatedtype TypeB } protocol C: A, B where TypeA == TypeB { } struct Hoge: C { // error: type 'Hoge' does not conform to protocol 'A' typealias Type2 = String }