The idea here would be to disallow
() as redundant at both definition site and use site of methods.
The only justification for keeping it that I found here is
Scala encourages to define such “property” methods without a () parameter list whereas side-effecting methods should be defined with it
Other then the above, adding () arg lists appear to be redundant. So long as this is only encouraged and not enforced I don’t see it giving us much, I’d certainly feel that without a guarantee from the compiler I can’t trust it anyway, so () would remain just line noise.
This could be enforced for java methods too: enforce
myVal.toString, would this cause any issues? If yes, this part can be omitted.
Also, an effect system won’t make it into Scala 3 but AFAICT is an area of interest that will likely make it in sooner or later, that should be able to give us guarantees wrt. side effects making this encouraged style even more redundant, if there is such a thing (but I find my point valid even if no such effect system will ever be part of the language)