Redundant conformance error using protocol composition


protocol A {}
protocol B {}

typealias C = A & B
typealias D = A & B
typealias E = C & D

struct F: E {}

It compiles with errors: Redundant conformance of 'F' to protocol 'A'; Redundant conformance of 'F' to protocol 'B'

Using previous versions of compiler it was working fine (swift 4 - 4.2) but now it isn't. I tried it on compiler with xcode10.2 beta 4 and one of recent development 5.0 snapshots.

Is it expected behaviour with swift 5 compiler?

Did you mean a warning?

Which one? I think the newest snapshots are already far ahead Swift 5 and most likely contain Swift 5.1 changes.

If it's a warning then I think it's okay as C and D are type aliases for the exact same protocol composition, but @Slava_Pestov would know better.

It's compilation errors. I tried to set everything like "treat warning like errors" to false but it didn't help.
It tried it on swift 5.0 snapshots.

We just managed to fix this with


Terms of Service

Privacy Policy

Cookie Policy