There have been, in previous threads, several examples given where users of Swift have found the behavior of `where` to be misleading and confusing.
In fact, the first of these proposals began with a question: how does one write arbitrary Boolean assertions after a let binding? The answer (use `where`) was found to be misleading and confusing. I think you're being unfair to say that these proposals have no purpose other than an academic consistency. On Thu, Jun 9, 2016 at 13:29 Jon Shier via swift-evolution < swift-evolution@swift.org> wrote: > As time goes on, I’m feeling more and more that these consistency > proposals are sorely misguided. Frankly, unless the syntax is confusing or > misleading, even once the developer has learned the guiding principles of > Swift, consistency is not a good argument for change. This proposal is the > perfect example of this. No one will find the use of “where” in loops > confusing, aside from those who will wonder why it was removed from if > statements. There is no misleading behavior or confusing syntax here. This > is just consistency for consistency’s sake. Once this proposal is done, > then another will be made to remove “where” from another place in the > language. Then another and another until it’s gone completely and a very > useful part of the language is removed in the name of consistency. Which > really just comes down to “where” isn’t used here, so it can’t be used > there anymore. It’s death by a thousand cuts. > > > > Jon Shier > > > > On Jun 9, 2016, at 1:16 PM, Erica Sadun via swift-evolution < > swift-evolution@swift.org> wrote: > > > > > >> On Jun 9, 2016, at 11:11 AM, Charlie Monroe <char...@charliemonroe.net> > wrote: > >> See my latest post - included results with -Ofast. But still, using > filter and lazy.filter is 10+% slower, which were the suggested > alternatives to `where`. > >> > >> > > > > I need to correct this misapprehension. > > My suggested alternative to where was and remains `guard`. > > > > -- E > > > > _______________________________________________ > > swift-evolution mailing list > > swift-evolution@swift.org > > https://lists.swift.org/mailman/listinfo/swift-evolution > > _______________________________________________ > swift-evolution mailing list > swift-evolution@swift.org > https://lists.swift.org/mailman/listinfo/swift-evolution >
_______________________________________________ swift-evolution mailing list swift-evolution@swift.org https://lists.swift.org/mailman/listinfo/swift-evolution