[swift-evolution] [Pitch] Introducing the "Unwrap or Die" operator to the standard library
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?
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
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the swift-evolution