Spent some time with a recent snapshot and was really pleased with the experience! Great work, everyone! ![]()
One thing that came up was that composed protocols don't seem to be supported. E.g., should this work?
func f() -> some (A<Int> & B<Int>) { … }
This also made me wonder if "generic" type aliases should support primary associated types. E.g.:
typealias C<T> = (A<T> & B<T>)
func f() -> some C<Int> { … }
If so (or not), it would definitely be nice for the pitch to address things.
Edit: One other question is how does one document a primary associated type? Sequence can document Element as:
A type representing the sequence's elements.
But if it were redefined as Sequence<Element>, where would this documentation go?