Hi,
There are plenty of changes which are not go through with Swift Evolution proposals after the conditional conformances are implemented. It's not clear about what types conform to what protocols with what requirements.
Should we have a topic about all of the changes? I need inheritance graphs for that.
saagarjha
(Saagar Jha)
2
Which changes are you talking about?
here are some of changes
Lazy[ Bidirectional | RandomAccess ]Collection -> LazyCollection
[ Mutable ][ RangeReplaceable ][ Bidirectional | RandomAccess ]Slice -> Slice
also
https://github.com/apple/swift/commit/9ee856f386f9be65234e25038a91a34fa07acacd
saagarjha
(Saagar Jha)
4
These were all outlined in SE-0134.
I have forgotten that the Array is confirmed Equatable but not Hashable.
The core team felt that the guidance for standard library adoption laid out in SE-0143 was sufficient for the adoption of conditional conformances in the standard library (i.e, we didn't need a separate review process).
I think it would be valuable to update SE-0143 with details of these changes to the standard library. We've done that in the past--filling in clarifying details to already-accepted proposals once they've been implemented. This is something anyone in the Swift community with an interest can tackle: look through the various pull requests adopting conditional conformances (and the blog post on conditional conformances) and create a pull request against GitHub - apple/swift-evolution: This maintains proposals for changes and user-visible enhancements to the Swift Programming Language. to update SE-0143 accordingly.
1 Like
Yes, of course, I’m not saying that we need a separate review process.
However, we should state all changes and document it clearly. That will help everyone to understand the relationship of the types and what the requirements.
I even don’t know what changes are makes with LazySequence.