Avatar
@swift-5.4.3 @swift-main protocol Ring {} protocol MatrixImpl { associatedtype BaseRing: Ring } struct DefaultMatrixImpl<A: Ring>: MatrixImpl { typealias BaseRing = A } struct Matrix<A, B: MatrixImpl> where B.BaseRing == A {} extension Matrix where B == DefaultMatrixImpl<A> {} // Redundant conformance constraint 'B': 'MatrixImpl' <- huh?