[swift-evolution] [swift-evolution-announce] [Review] SE-0099: Restructuring Condition Clauses

Christopher Kornher ckornher at mac.com
Tue May 31 14:51:09 CDT 2016


> On May 31, 2016, at 1:47 PM, Xiaodi Wu <xiaodi.wu at gmail.com> wrote:
> 
> 
> 
> On Tue, May 31, 2016 at 2:45 PM, Christopher Kornher via swift-evolution <swift-evolution at swift.org <mailto:swift-evolution at swift.org>> wrote:
>> 
>> Not allowed:
>>>> let a = a
>> let b = b where b > 10 && a > 5
>> 
>> Why would this not be allowed by your rule? You're making use of `b` in your where clause. As I demonstrated above, essentially any assertion can be rewritten to work around your rule. In general:
> 
> It is not allowed because  ‘a’ is defined in the line above. It must be defined in the ‘if let’ associated with the where in which it is mentioned.
> 
> That's a much more restrictive where clause than you proposed earlier. You'd not be able to write:
> 
> ```
> let b = b where b > anyOtherVariable
> ```


The definition is not a formal one, but that was the intent.

```
let b = b where b > anyOtherVariable
```
is legal as long as `anyOtherVariable` is not defined within the entire condition clause


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20160531/cdab275e/attachment.html>


More information about the swift-evolution mailing list