[swift-evolution] [Pitch] Introducing the "Unwrap or Die" operator to the standard library
Erica Sadun
erica at ericasadun.com
Wed Jun 28 20:18:28 CDT 2017
On Jun 28, 2017, at 6:43 PM, Alan Westbrook via swift-evolution <swift-evolution at swift.org> wrote:
>
>
>> On Jun 28, 2017, at 5:27 PM, Xiaodi Wu via swift-evolution <swift-evolution at swift.org <mailto:swift-evolution at swift.org>> wrote:
>>
>> In the initial example, repeated here in largely identical form, the desired comment is "array must be non-empty." In what way does that provide more information than a bare `!`?
>
> I’m going to second this sentiment with the feeling that the message is seemingly redundant. It feels akin to the comment in this line of code:
>
> let value = 1 // This value is set to 1
>
> On an error, one gets the trap with the optional unwrapped message, and goes to the code where they see what is being forced by assumption.
>
> Does the message spelling out the code in natural language help?
>
> Alan
I have replied to another email but will repeat the point here: The proposed `!!` operator differs from the direct use of `!` in that it explains a fact known to hold true, allowing the lhs to safely unwrap.
The alternatives are:
* forced unwrap -- comments do not transfer to runtime, which leads coders to use:
* using guard with fatalError -- the !! operator provides an elegant sugared shortcut for this common code
-- E
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20170628/46693030/attachment.html>
More information about the swift-evolution
mailing list