> On May 12, 2016, at 1:07 PM, Evan Maloney via swift-users 
> <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 yet.

I'm going to go with the classic answer: 
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

Reply via email to