Avatar
@koher protocol FooParameterProtocol { associatedtype X } extension Int: FooParameterProtocol { typealias X = Int64 } extension Float: FooParameterProtocol { typealias X = Double } struct Foo<T: FooParameterProtocol> { typealias A = T.X }