<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=""><div><blockquote type="cite" class=""><div class="">On May 12, 2016, at 1:07 PM, Evan Maloney via swift-users <<a href="mailto:swift-users@swift.org" class="">swift-users@swift.org</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class="">Adopting the newer Swift style of preferring first parameter labels, I wrote a function:<br class=""><br class=""> func sale(options options: DeepLinkOptions)<br class=""> throws<br class=""> -> Sale<br class=""> {<br class=""> // ...implementation...<br class=""> }<br class=""><br class="">I then tried calling it elsewhere, and setting the result to a variable named 'sale', which is coincidentally the same name as the function above:<br class=""><br class=""> let sale = try sale(options: options)<br class=""><br class="">This line won't compile, failing with the following error and a caret pointing at the second use of 'sale':<br class=""><br class=""> variable used within its own initial value<br class=""><br class="">In the past, I would've named the function above according to Objective-C conventions, and it might've ended up with a name like 'saleWithOptions'; there'd be no clash. However, with the more terse Swift 3.0 style, we'll probably end up with more situations like mine.<br class=""><br class="">Is this (should this be?) considered a bug or compiler limitation? Should I file a JIRA? There doesn't seem to be anything for this on <a href="http://bugs.swift.org" class="">bugs.swift.org</a> yet.<br class=""></div></div></blockquote><br class=""></div><div>I'm going to go with the classic answer: <a href="http://www.urbandictionary.com/define.php?term=Henny+Youngman+problem" class="">http://www.urbandictionary.com/define.php?term=Henny+Youngman+problem</a></div><div><br class=""></div><div>consider: <span style="font-family: Menlo;" class="">let sale2 = sale</span></div><div>you could then run <font face="Menlo" class="">sale2(options: options)</font></div><div><br class=""></div><div>So why should <font face="Menlo" class="">let sale = sale</font> be any different?</div></body></html>