Why can’t I pass a Protocol.Type to a generic T.Type parameter?
P.Type vs. P.Protocol There are two kinds of protocol metatypes. For some protocol P, and a conforming type C: A P.Protocol describes the type of a protocol itself (the only value it can hold is P.self). A P.Type describes a concrete type that conforms to the protocol. It can hold a value of C.self, but … Read more