Because it would be recursive. which is not supported, I believe.
protocol Foo {
associatedtype Bar : Foo
}
Playground execution failed: error: MyPlayground.playground:2:20: error: type
may not reference itself as a requirement
associatedtype Bar : Foo
^
> On Feb 13, 2017, at 1:42 PM, Charles Srstka via swift-evolution
> <[email protected]> wrote:
>
> The following comment accompanies the declaration of the SubSequence
> associated type in the Collection protocol:
>
> /// A sequence that represents a contiguous subrange of the collection's
> /// elements.
> ///
> /// This associated type appears as a requirement in the `Sequence`
> /// protocol, but it is restated here with stricter constraints. In a
> /// collection, the subsequence should also conform to `Collection`.
> associatedtype SubSequence : IndexableBase, Sequence = Slice<Self>
>
> The comments clearly state that the subsequence should conform to Collection,
> however, it is not declared as such. Why is this?
>
> Charles
>
> _______________________________________________
> swift-evolution mailing list
> [email protected]
> https://lists.swift.org/mailman/listinfo/swift-evolution
_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution