> On May 12, 2016, at 3:12 PM, Erica Sadun <er...@ericasadun.com> wrote: > > I'm going to go with the classic answer: > http://www.urbandictionary.com/define.php?term=Henny+Youngman+problem > <http://www.urbandictionary.com/define.php?term=Henny+Youngman+problem> > > consider: let sale2 = sale > you could then run sale2(options: options) > > So why should let sale = sale be any different?
Shouldn't the use of the 'options' parameter label result in the function name not clashing with the generic 'sale'? In the case of the error line itself, I would've assumed from the context that the compiler would know that I wanted to invoke the function named 'sale' rather than refer to the function in the abstract. The passing of the parameter value should be enough of a tip-off about that, no? And from that line on within the local scope, I'd understand if a local variable named 'sale' shadowed a no-arg function also named 'sale', but given that this function is really named 'sale(options:)', I would've thought this'd work. >> On May 12, 2016, at 1:07 PM, Evan Maloney via swift-users >> <swift-users@swift.org <mailto:swift-users@swift.org>> wrote: >> >> Adopting the newer Swift style of preferring first parameter labels, I wrote >> a function: >> >> func sale(options options: DeepLinkOptions) >> throws >> -> Sale >> { >> // ...implementation... >> } >> >> 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: >> >> let sale = try sale(options: options) >> >> This line won't compile, failing with the following error and a caret >> pointing at the second use of 'sale': >> >> variable used within its own initial value >> >> 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. >> >> 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 bugs.swift.org >> <http://bugs.swift.org/> yet. > > I'm going to go with the classic answer: > http://www.urbandictionary.com/define.php?term=Henny+Youngman+problem > <http://www.urbandictionary.com/define.php?term=Henny+Youngman+problem> > > consider: let sale2 = sale > you could then run sale2(options: options) > > So why should let sale = sale be any different?
_______________________________________________ swift-users mailing list swift-users@swift.org https://lists.swift.org/mailman/listinfo/swift-users