[swift-evolution] [swift-evolution-announce] [Review] SE-188 Make stdlib index types Hashable

Brent Royal-Gordon brent at architechies.com
Thu Nov 9 05:28:13 CST 2017


> 	https://github.com/apple/swift-evolution/blob/master/proposals/0188-stdlib-index-types-hashable.md
> 
> • What is your evaluation of the proposal?

This all seems very sensible, but here's my big question:

	AnyIndex, which type erases any index type at run-time, would not be hashable since it might wrap a non-hashable type.

Why not? Specifically, why shouldn't we require `Hashable` conformance on indices? Adding it would require changes to conforming types, sure, but indices are already required to be `Equatable`, and `Hashable` conformance just got really easy to add, and custom `Collection`s are a relatively rare and advanced feature.

Is it worth a source break to add it? Personally, I think so—but even if you disagree, I think we should document why we decided not to add it.

> • Is the problem being addressed significant enough to warrant a change to Swift?

Yes.

> • Does this proposal fit well with the feel and direction of Swift?

Yes.

> • If you have used other languages or libraries with a similar feature, how do you feel that this proposal compares to those?

N/A.

> • How much effort did you put into your review? A glance, a quick reading, or an in-depth study?

Quick reading, nothing more.

-- 
Brent Royal-Gordon
Architechies



More information about the swift-evolution mailing list