> On Sep 20, 2016, at 1:45 PM, Kevin Choi via swift-dev <swift-dev@swift.org> 
> wrote:
> 
> b.sw:
> func findIndex<T: Equatable>(array: [T], _ valueToFind: T) -> Int? {
>     for (index, value) in array.enumerated() {
>         if value == valueToFind {
>             return index
>         }
>     }
>     return nil
> }
> 
> let foundAtIndex = findIndex([1, 2, 3, 4], 3)
> print(foundAtIndex == 2) // true
> 
> ===================
> ~/git/swift-source$ 
> build/Ninja-RelWithDebInfoAssert/swift-linux-x86_64/bin/swift b.sw
> b.sw:10:44: error: unnamed argument #2 must precede unnamed argument #1
> let foundAtIndex = findIndex([1, 2, 3, 4], 3)
>                              ~~~~~~~~~~~~  ^
>                              3             [1, 2, 3, 4]
> 
> The error seems to arise from the requirement:
> > If a parameter has an argument label, the argument must be labeled when you 
> > call the function.
> 
> Instead the shown error assumes the order is swapped because first argument 
> was unnamed. Should the former (from requirement) be shown as the error here?

Yeah, that would make much more sense. If you have a moment, would you be able 
to report this as a bug on bugs.swift.org?

-Joe
_______________________________________________
swift-dev mailing list
swift-dev@swift.org
https://lists.swift.org/mailman/listinfo/swift-dev

Reply via email to