Since LazySequenceProtocol
doesn't have a primary associated type, instead of any LazySequenceProtocol<UInt32>
, I put any LazySequenceProtocol & Sequence<UInt32>
. To my surprise, the compiler complained:
error: non-protocol, non-class type 'Sequence<UInt32>' cannot be used within a protocol-constrained type
Since when is Sequence
not a protocol? Right click -> Go to definition on the word Sequence
in that type definition takes me to this line of an autogenerated .swiftinterface:
public protocol Sequence<Element> {