Avatar
Miwa / Ensan 6/13/2021 9:14 AM
ワークアラウンドですが、これだとまずい状況でしょうか protocol Ring {} protocol MatrixImpl { associatedtype BaseRing: Ring } struct DefaultMatrixImpl<A: Ring>: MatrixImpl { typealias BaseRing = A } struct Matrix<B: MatrixImpl> {} // DefaultMatrixImplのみDefaultMatrixImplProtocolに適合させる protocol DefaultMatrixImplProtocol { associatedtype BaseRing: Ring } extension DefaultMatrixImpl: DefaultMatrixImplProtocol {} extension Matrix where B: DefaultMatrixImplProtocol {} (edited)