struct inheritance

Reiner Pope some at address.com
Thu Aug 30 23:01:44 PDT 2007


Bill Baxter wrote:
> Let us all turn our copies of WalterAndrei.pdf to page 40 where yea 
> verily it doth say:
> 
>     struct M { int a; }
>     struct S {
>        M m;
>        alias m this;
>        int b;
>     }
> 
> Why not just allow mixin to do this?
> 
>     struct M { int a; }
>     struct S {
>        mixin M;
>        int b;
>     }
> 
> That's basically the way it's done now except now it would be more like:
> template MMixin() { int a; }
> struct M { mixin M; }
> struct S { mixin M; int b; }
> 
> Just let us treat a struct like a zero arg template for mixin purposes.
> 
> --bb

Template mixins require that the sourcecode of the template is available 
to the compiler. Aliases don't. In this sense at least, aliases are cleaner.

  -- Reiner



More information about the Digitalmars-d mailing list