On 06/12/2014 03:38 PM, monarch_dodra wrote:

> Yet you can alias variables...
>
> int i;
> alias j = i;

Initially I forgot about the fact that symbols can be alias'ed as well. So that's fine.

> So there's something special about "null".

The difference is that null is an expression. It is the same limitation as not being able to alias a literal.

    alias zero = 0;
    alias blah = null;

Those two declarations fail for the same reason:

  Error: basic type expected, not 0
  Error: semicolon expected to close alias declaration
  Error: basic type expected, not null
  Error: semicolon expected to close alias declaration

The pair of error messages are somewhat silly: The first one is misleading because as we know, it should say "basic type *or symbol* expected"; and the second one is bogus because there actually is a semicolon there: :p

Ali

Reply via email to