Jarrett Billingsley wrote: > Speaking of syntactical ambiguity, the expression > > S(1, 2, 3) > > can, right now, have one of three meanings: > > 1. A struct literal for struct S > 2. A call to S's static opCall > 3. An instantiation of S and a call to its ctor > > Even if opCall goes away, we'll still be left with the ambiguity of > struct literal vs. ctor. I'd really, really like to hear Walter's view > on this but he has responded neither to the thread I posted on > digitalmars.D nor the bugzilla ticket > (http://d.puremagic.com/issues/show_bug.cgi?id=2170).
If there's any constructor defined for S, then S(args) is a constructor
call.
If there's any opCall defined for S, then S(args) is an opCall call.