[swift-evolution] [Idea] if let value!

LM laurent.mihalkovic at gmail.com
Wed May 18 09:43:04 CDT 2016



> On May 18, 2016, at 2:37 PM, Vladimir.S <svabox at gmail.com> wrote:
> 
> Very interesting. But, as I can see, no community's support for this feature.
> 

I don't mind the lack of interest. chris was very clear that this kind of syntax sugaring is out of scope for 3.0 in general, and that he did not want this one in particular.

my goal is just to learn the compiler codebase, and over the last couple days its been a great teaching tool. I'll leave the code somewhere for others to play with it. It would be very nice of the core team to have a small list somewhere of little brain teasers like this one that they know are do-able in a couple days without their help, to learn to get familiar with what's what and where



>> On 18.05.2016 12:22, LM wrote:
>> I am experimenting with this:
>> 
>> If var! anOptional {
>>   anOptional   // unwrapped, shadowing
>> }
>> 
>> if let! anOptional {
>> ... // same
>> }
>> 
>> 
>> This compiler codebase is truly remarkable, so it should also works with
>> 
>> If var! opt1 where opt1 < 27 {
>> }
>> 
>> or
>> 
>> if var! opt1, opt2 {
>>   // both unwrapped
>> }
>> 
>> LM/
>> 
>> 
>>> On May 18, 2016, at 10:21 AM, Daniel Höpfl via swift-evolution <swift-evolution at swift.org> wrote:
>>> 
>>> Just an idea: Why don’t we think about it similar to try?
>>> 
>>> var anOptional : String?
>>> 
>>> let? anOptional { /* use it, but cannot change it */ }
>>> let! anOptional { /* use it, without checking, cannot change it */ }
>>> 
>>> var? anOptional { /* use it, can also change it, */ }
>>> var! anOptional { /* use it, without checking, can also change it */ }
>>> 
>>> Is it allowed to set it to nil in the var case? Hard to say.
>>> 
>>>> On 17.05.16 15:43, Vladimir.S via swift-evolution wrote:
>>>> It is common to shadow optional value name with unwrapped value with
>>>> same name:
>>>> 
>>>> if let someGoodValue = someGoodValue {...}
>>>> 
>>>> What if we'll have a syntax to not repeat the variable name to achieve
>>>> the same target:
>>>> 
>>>> if let someGoodValue! {...}
>>>> 
>>>> What do you think?
>>>> _______________________________________________
>>>> swift-evolution mailing list
>>>> swift-evolution at swift.org
>>>> https://lists.swift.org/mailman/listinfo/swift-evolution
>>> _______________________________________________
>>> 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