[swift-evolution] Why doesn't Swift allow a variable and a function with the same name?

Jacob Bandes-Storch jtbandes at gmail.com
Mon Jan 30 13:56:00 CST 2017


Suppose it were allowed. What should this do?

    let something = randomArray

On Mon, Jan 30, 2017 at 11:37 AM, Michael Gubik via swift-evolution <
swift-evolution at swift.org> wrote:

> Example that does not compile:
>
>             let randomArray = randomArray(withCapacity: 4096)
>
> Compiler error: “Variable used within its own initial value”
> The variable name unfortunately clashes with the function name.
>
> This problem forces the developer to think about an alternative name.
> IMHO that’s suboptimal since many times the most canonical naming would be
> one where these two go by the same name.
>
> It’s not a big problem in practice but I wonder if there are plans to
> change this?
>
>
> Thanks,
> Michael Gubik
>
> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20170130/1ecbdab8/attachment.html>


More information about the swift-evolution mailing list