Avatar
うーん、 Swift は↓もできないのか。 protocol Hoge { associatedtype A func aaa() -> A //func bbb() -> Int } protocol HogeInt: Hoge { typealias A = Int func aaa() -> Int } protocol HogeString: Hoge { typealias A = String func aaa() -> String } struct Cat {} extension Cat: HogeInt { func aaa() -> Int { return 11 } //func bbb() -> Int { // return 22 //} } extension Cat: HogeString { func aaa() -> String { return "sss" } //func bbb() -> Int { // return 33 //} }
3:22 AM
Hoge の中身をコメントアウトすればコンパイルできる。