map.foo() in favor of map.foomod.foo in favor of mod.foo()a.b without parens has nil third elementPS: originally this issue was about deprecating all nullary remote calls without parens, but it has been restricted since then. See this comment for more info.
What about typespecs of arity 0?
@eksperimental we probably won't touch typespecs for two reasons:
of all of the examples above, it is the most common, which means potentially hundreds of warnings in a project
it can't be fully automated, which doesn't help with 1
Is this open for contribution? Because I would love to work on that :)
Hi @esse, not yet. Note it is tagged for v1.11 and we are still working on v1.10.
Folks, I will go ahead and revert these changes. I have been running them for the last 40 days and I have to be honest that every time I saw the warning a part of me died a bit. :)
There is nothing ambiguous on Foo.bar, so it makes no sense to push users to use parens. That's opposite to an unqualified bar without parens, which was ambiguous and it required revisiting the context.
Therefore, we will only apply these rules where ambiguity exists: map.foo() and mod.foo. We will likely start emitting a warning for map.foo() first and a warnings for mod.foo later.
EDIT: I have updated the original description to track only the changes we will effectively do.
On v1.11 we will add this as a compile-time warning whenever we can infer it. So I will postpone this to v1.12 or maybe even v1.13.
Most helpful comment
On v1.11 we will add this as a compile-time warning whenever we can infer it. So I will postpone this to v1.12 or maybe even v1.13.