Open LB-- opened 9 years ago
f
is to be searched for in the following order, using argument-dependent lookup:
The search must finish before selecting the result to use for f
.
If f
is enclosed in []
then the search must start and complete at compile time, each time the expression is reached.
If f
is enclosed in {}
then the search must start at runtime, each time the expression is reached.
In either case, failure to find non-ambiguous result for f
should result in an exception being thrown from the expression.
Also equivalent: f(a, b)
and a f b
I'm not using that syntax anymore, ignore the first and third posts here.
All of the following should be equivalent:
f(a, b, c, d, e)
a.f(b, c, d, e)
(a, b).f(c, d, e)
(a, b, c).f(d, e)
(a, b, c, d).f(e)
(a, b, c, d, e).f()