Avatar
protocol P {} struct A: P {} struct B: P {} struct C: P {} struct D: P {} protocol FooProtocol { associatedtype X: P = A associatedtype Y: P = B associatedtype Z: P = C } struct S<Foo: FooProtocol> {} struct MyFoo: FooProtocol { typealias X = D } let s: S<MyFoo> = .init() print(s) (edited)
4:12 AM
今のケースに当てはまるかわかりませんが、 associatedtype だとデフォルトの型を指定できるから楽になるとかないでしょうか?