DMD 1.035 and 2.019 releases
Walter Bright
newshound1 at digitalmars.com
Wed Sep 3 16:29:00 PDT 2008
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.
Otherwise, it's a struct literal.
More information about the Digitalmars-d-announce
mailing list