Apologies if this comes through as a duplicate for some people, but I'm not
sure if it went through the first time; I seem to have some trouble with
ProofPoint, who apparently do not monitor their false positive reporting
system. As such my mail server is still listed from eight months ago despite
never having a single spam message reported in that time, so pretty sure
ProofPoint is a massive waste of money to anyone having it inflicted upon them,
as it seemingly blocks entire servers with no negative rating.
Anyway, I'll repost for anyone that didn't get it the first time; if you
ignored it the first time then feel free to do-so again, just know that it
shall do irreparable harm to my fragile ego:
I like the principle in general, but I have some concerns about the range
syntax. Firstly my concern is that allowing either end of the range to be
omitted feels like a possible bug to me, so I'm not sure if we should encourage
that?
I'm wondering if a slightly better alternative might to be to retain the
operators as binary but to pass Void, like so:
let rangeFrom = 5...()
let rangeTo = ()...5
And so-on. It's not quite as pretty, but makes it clear that no mistake was
made, and allows the operators to be defined normally taking two arguments of
Comparable and Void (and vice versa).
It could be neatened up if we could allow a lone underscore as Void, like so:
let rangeFrom = 5..._
let rangeTo = _...5
This is a bit neater looking, and should be consistent with how underscore is
used elsewhere? I'm not sure if it might conflict though, but I don't think so.
Just I thought, but I dislike the idea that by forgetting a value on a range,
or making some other typo, I could accidentally define an open ended range and
change the behaviour of something that accepts both open and closed ranges, I
think requiring something that explicitly indicates an open range is a bit
better.
_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution