[swift-evolution] Reconsidering SE-0003 Removing var from Function Parameters and Pattern Matching

Craig Cruden ccruden at novafore.com
Fri Jan 22 16:39:11 CST 2016


I would think the concept of having var on pattern matching at least to be…. problematic since the pattern matching variable would be part of what you are matching.  

I would actually prefer pattern matching to be able to infer (hoping) the let since it really looks like horrible clutter on the case statements with regards to pattern matching.



> On 2016-01-23, at 4:14:54, Dave Abrahams via swift-evolution <swift-evolution at swift.org> wrote:
> 
> 
> on Fri Jan 22 2016, David Waite <swift-evolution at swift.org> wrote:
> 
>> -1 for the reversal, because I have been burned by this myself.
>> 
>> The var parameters, cases, and “if var” could all be interpreted as
>> either making a copy or having inout semantics. The problem is that
>> the syntax doesn’t make the behavior explicit. IMHO you should be
>> striving not for a reversal but for a counterproposal.
> 
> Hmm, so is this clear or surprising?
> 
>  var y = 0
>  var x = y
>  x += 1
>  print(y)    // prints 0
> 
> If it's unsurprising, can you explain why it's different from var in
> all the other contexts?
> 
> -- 
> -Dave
> 
> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution



More information about the swift-evolution mailing list