<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Dec 28, 2015, at 11:46 AM, Matthew Johnson via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a>&gt; wrote:</div><br class="Apple-interchange-newline"><div class=""><div class=""><br class=""><blockquote type="cite" class="">On Dec 28, 2015, at 1:39 PM, Stephen Celis &lt;<a href="mailto:stephen.celis@gmail.com" class="">stephen.celis@gmail.com</a>&gt; wrote:<br class=""><br class="">I'm not sure I understand the use case. Aren't these optimizations that could be better handled by the compiler? Do we really want to provide hints like these manually in our own libraries? Instead of `value: Int? = nil`, why not `value: Int = 42`?<br class=""></blockquote><br class="">I agree that part of this is simply an optimization. &nbsp;The part that was interesting enough that I thought it is worth sharing is that it could improve resilience in a way that a default value does not allow.<br class=""><br class="">That said, it is not a “proposal”. &nbsp;I’m not sure whether it is really worth considering or not. &nbsp;But I think it is interesting enough to toss out to the community and see what the response is.<br class=""></div></div></blockquote></div><br class=""><div class="">You can provide resilience with a non-optional parameter by making the default argument the result of calling a resilient function (or evaluating a resilient property):</div><div class=""><br class=""></div><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;" class=""><div class="">@availability(x.y)</div><div class="">internal func defaultForFoo() -&gt; Int { return 941 }</div><div class=""><br class=""></div><div class="">public func foo(value: Int = defaultForFoo()) { }</div></blockquote><div class=""><br class=""></div><div class="">-Joe</div></body></html>