> Upon accepting SE-0099, the core team is removing `where` clauses from 
> condition clauses, writing "the 'where' keyword can be retired from its 
> purpose as a boolean condition introducer." 
> 
> Inspiried by Xiaodi Wu, I now propose removing `where` clauses from `for in` 
> loops, where they are better expressed (and read) as guard conditions. 

Do you propose to remove `for case` as well? That can equally be handled by a 
`guard case` in the loop body.

Alternate proposal: Move `where` clauses to be adjacent to the pattern—rather 
than the sequence expression—in a `for` loop, just as they are in these other 
syntaxes.

        for n where n.isOdd in 1...1_000 { … }

This makes them more consistent with the syntax in `switch` cases and `catch` 
statements, while also IMHO clarifying the role of the `where` clause as a 
filter on the elements seen by the loop.

-- 
Brent Royal-Gordon
Architechies

_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to