dst = src rather than src dst
Janice Caron
caron at serenityfirefly.com
Thu Sep 6 06:13:09 PDT 2007
-----Original Message-----
From: digitalmars-d-bounces at puremagic.com
[mailto:digitalmars-d-bounces at puremagic.com] On Behalf Of Janice Caron
Sent: 06 September 2007 13:37
To: D
Subject: Re: dst = src rather than src dst
> In reality, it's a type definition - the keyword typedef is closer in
> meaning to struct, class or enum (or in C++, namespace) than anything
> else. In fact,
>
> typedef B A;
>
> could reasonably be rewritten in D2.0+ as
>
> struct A
> {
> B b;
> alias b this;
> }
For that matter, if struct inheritance syntax is ever allowed,
typedef B A;
could be rewritten as
struct A : B {}
which really makes it really, really clear that "typedef" is not a declaration.
Come to think of it, "typedef" is short for TYPE DEFinition, so it's very
/name/ tells you it's a definition, not a declaration. Of course, that struct
trick won't work for alias.
Also, let's not forget that alias has many other uses beyond replacing C's
typedef. Those other uses more than justify having a different syntax. There is
no logic in saying that
alias long_and_complicated.name.For!(Something) i;
needs to be that way round, purely because of how typedef evolved in C.
More information about the Digitalmars-d
mailing list