>> 
>> Another possibility I've thought of is defining `defer { val }` to guarantee 
>> that val remains alive until the defer fires on scope exit. That might let 
>> us leave `defer` as the one "guarantee something happens exactly at scope 
>> exit" language construct.

What about this…

defer let val = grabOrCreateSomething() {
  return;
}

Seems natural once you learn guard.

> 
>> 
>> -Joe
>> 
>> _______________________________________________
>> swift-evolution mailing list
>> swift-evolution@swift.org <mailto:swift-evolution@swift.org>
>> https://lists.swift.org/mailman/listinfo/swift-evolution 
>> <https://lists.swift.org/mailman/listinfo/swift-evolution>
>  _______________________________________________
> swift-evolution mailing list
> swift-evolution@swift.org <mailto:swift-evolution@swift.org>
> https://lists.swift.org/mailman/listinfo/swift-evolution 
> <https://lists.swift.org/mailman/listinfo/swift-evolution>
_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to