Precedence of 'new' vs '.'

Ary Borenszweig ary at
Tue May 5 18:43:54 PDT 2009

Frank Benoit escribió:
> In Java one can write:
> new MyClass().run();
> in D this does not compile, parenthesis are needed.
> (new MyClass()).run();
> But why is the D language designed like that?

I think it's because the (already hated by many, including myself) 
ability to invoke a function (or a constructor) without parenthesis.

   new MyClass().run

should be the same, right?

But in the first case MyClass could be a package name and you are 
constructing a new "" instance. You could make them behave 
differently, but some would say it's not consistent, etc.

More information about the Digitalmars-d mailing list