struct inheritance
Bruno Medeiros
brunodomedeiros+spam at com.gmail
Sat Sep 1 05:20:11 PDT 2007
Reiner Pope wrote:
> 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
Huh? Explain how the above alias example would work if the compiler
doesn't know the source code of what is being aliased:
struct M;
struct S {
M m;
alias m this;
int b;
}
It's not even possible to declare m without knowing the source of M!
Perhaps I misunderstood you?
--
Bruno Medeiros - MSc in CS/E student
http://www.prowiki.org/wiki4d/wiki.cgi?BrunoMedeiros#D
More information about the Digitalmars-d
mailing list