<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><div class=""><br class=""><div><blockquote type="cite" class=""><div class="">On 21 Mar 2016, at 23:21, Adrian Kashivskyy &lt;<a href="mailto:adrian.kashivskyy@me.com" class="">adrian.kashivskyy@me.com</a>&gt; wrote:</div><br class="Apple-interchange-newline"><div class=""><div class="" style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">I believe the scoped&nbsp;<font face="Menlo" class="">@discardableResult(warn|critical)</font>&nbsp;attribute is a nice idea for future directions, but I'm not sure it's in scope of this proposal, which, as a first small step, aims to basically invert the&nbsp;<font face="Menlo" class="">@warn_unused_result</font>&nbsp;standard.<div class=""><br class=""></div><div class="">cc Erica</div></div></div></blockquote></div><br class=""><div class="">For the addition of critical sure, but the ability for developers to switch between warn-by-default and ignore-by-default (current) behaviour would ease migration, and address concerns from those that prefer the current behaviour; i.e- for types designed with method chaining in mind the current default is preferable to the new one, and the new default will actually cause those types to become susceptible to the same mistakes that warn-by-default hopes to avoid.</div><div class=""><br class=""></div><div class="">For this reason I think that having an attribute at both function and type levels is important, as it lets developers choose for themselves what the default for their type is (or file, or extension, whatever scope makes most sense).</div></div></body></html>