[swift-evolution] Make non-void functions @warn_unused_result by default

Dave Abrahams dave at boostpro.com
Thu Feb 25 11:13:23 CST 2016


on Wed Feb 24 2016, Erica Sadun <erica-AT-ericasadun.com> wrote:

> I'd recommend against snake case. (It's a thing). Some thoughts:

Whatever we do for this particular attribute will not be different than
what we do for other similar attributes.  If we decide to move all
attributes away from snake case, we'll make a unified policy decision.
Please let's not confuse the issue by introducing a new axis of
variability for this particular proposal.

>
> @SuppressResultUseWarning
> @SuppressResultUsageWarning
> @SuppressUnusedResultWarning
>
> @OptionalResultUse (or Usage)
> @PermitOptionalResultUse (or Usage)
> @AllowOptionalResultUse (or Usage)
>
> @IgnoreUnusedResult
> @PermitUnusedResult
> @AllowUnusedResult
>
> @NoWarnUnusedResult
> @NoResultWarning
> @NoResultUseWarning
> @NoResultUsageWarning
> @NoWarningUnusedResult
> @NoWarningForUnusedResult
> @NoWarningOnUnusedResult
>
> @AllowProceduralCall
> @EnableProceduralCall
> @PermitProceduralCall
>
> -- E
>
>> On Feb 24, 2016, at 5:08 PM, Haravikk via swift-evolution <swift-evolution at swift.org> wrote:
>> 
>>> 
>>> On 24 Feb 2016, at 23:44, Janosch Hildebrand <jnosh at jnosh.com <mailto:jnosh at jnosh.com>> wrote:
>>> 
>>> Thanks for the encouragement everyone! I’ll start drafting over the weekend.
>>> 
>>> With regard to the inverted attribute, that is definitely open to discussion.
>>> Other variants that had been mentioned previously include:
>>> 
>>> @suppress_unused_result - suggested by Adrian Kashivskyy
>>> @allow_unused_result - suggested by Kevin Ballard
>>> @ignoreresult - suggested by Brent Royal-Gordon
>>> 
>>> Also the aforementioned “Modernizing Attribute Case and Attribute
>>> Argument Naming” proposal[1] will also play into this discussion as
>>> well.
>>> 
>>> [1]
>>> https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20160215/010510.html
>>> <https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20160215/010510.html>
>>> 
>>> - Janosch
>> 
>> While I like the brevity, I don’t think @ignoreresult is clear
>> enough on what it does, @optional_result (or ideally @optionalResult
>> if camel-case for attributes is accepted) is clearer I think if we
>> want a shortened two-word form. Or there’s Sean’s
>> @discardable_result alternative which is even clearer.
>> 
>> Otherwise @allow_unused_result is the best of the three word options
>> I think; @suppress_unused_result is a bit unclear as what you’re
>> actually suppressing is the compiler warning, as in most cases a
>> result will still be generated, it’s just not stored anywhere at the
>> call site.
>> _______________________________________________
>> swift-evolution mailing list
>> swift-evolution at swift.org <mailto:swift-evolution at swift.org>
>> https://lists.swift.org/mailman/listinfo/swift-evolution <https://lists.swift.org/mailman/listinfo/swift-evolution>

-- 
-Dave


More information about the swift-evolution mailing list