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