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

Michael Gubik gubikmic at gmail.com
Mon Jan 30 13:37:16 CST 2017

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?

Michael Gubik

More information about the swift-evolution mailing list