I disagree. Not having a parameter label implies presence of a parameter. It is not natural at all to use the same symbol to denote absence of a parameter. `foo(_)` is a single typo away from `foo(_:)`.
IMO, after arbitrary expressions are removed from #selector, it is straightforwardly a bug that `foo()` cannot be used to denote a function with no parameters. On Thu, May 5, 2016 at 10:59 Alex Hoppen via swift-evolution < swift-evolution@swift.org> wrote: > Say you have the function `foo() -> Int`. Then `foo()` calls `foo` and > returns its return value of type `Int` – not a reference to the function of > type `Void -> Int`. > > As to `_`: Like I stated in the proposal the underscore is already used in > functions to state that there is no parameter name. So I think it’s a > natural extension to also use it for saying that there are no arguments at > all. > > – Alex > > > On 05 May 2016, at 17:21, David Sweeris <daveswee...@mac.com> wrote: > > > > What’s wrong with `foo()` again? To me, a `_` in the parameter list > means that something is there, but the label doesn’t matter. > > > > - Dave Sweeris > _______________________________________________ > swift-evolution mailing list > swift-evolution@swift.org > https://lists.swift.org/mailman/listinfo/swift-evolution >
_______________________________________________ swift-evolution mailing list swift-evolution@swift.org https://lists.swift.org/mailman/listinfo/swift-evolution