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

Erica Sadun erica at ericasadun.com
Thu Jan 28 12:05:10 CST 2016


Do you realize how much confusion it would save if Swift just went with

if bind foo = bar {...}

with let semantics? 

-- Erica

> On Jan 28, 2016, at 11:03 AM, Joe Groff via swift-evolution <swift-evolution at swift.org> wrote:
> 
> 
>> On Jan 28, 2016, at 12:43 AM, Brent Royal-Gordon <brent at architechies.com> wrote:
>> 
>>> We have a lot of evidence that 'if var' confuses people—a lot of users think that 'if var' and 'var' bindings in case patterns will write back to the original value when this isn't the case.
>> 
>> Can we address this with a diagnostic?
>> 
>> 	var bar: Int? = 1
>> 	if var foo = bar {
>> 		foo += 1	// Warning: Value is never used after modification (foo is a copy, not an alias)
>> 	}
>> 	print(bar)
> 
> Good idea.
> 
> -Joe
> _______________________________________________
> 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