Why are protocol conformance extensions not supported for protocols?

I think this has a slightly different meaning. This line says: "extend every concrete T that conforms to OtherProtocol to also conform to SomeProtocol".

extension OtherProtocol : SomeProtocol {}
Instead would work (in my head at least) also for existentials of OtherProtocol without a concrete type.
My assumption is based on the fact that existentials of a protocol do not conform to it.

extension Int: OtherProtocol {}

class A {
    var a: OtherProtocol // With the generic extension way is NOT also SomeProtocol, but with the protocol conformance extension is
    var b: Int  // Is also SomeProtocol in both ways
}
4 Likes