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

Joe Groff jgroff at apple.com
Thu Dec 10 18:01:20 CST 2015


> On Dec 10, 2015, at 3:28 PM, Matthew Johnson via swift-evolution <swift-evolution at swift.org> wrote:
> 
> Why should unused results be acceptable?  Why not require callers to explicitly throw away the result:
> 
> let _ = funcReturningValueThatIsIgnored()
> 
> Yes this is extra syntax, but it also makes it clear that the value was intended to be ignored and the function was only executed for side-effects.  

There are a number of operations that sensibly return values, but are frequently used only for side effects, such as `pop` on a stack. I agree they're in the minority, and @warn_unused_result's polarity is backwards, but they're a big enough minority that the inverse attribute is valuable.

-Joe


More information about the swift-evolution mailing list