Mercurial > projects > dstress
changeset 1016:cddb4604d6d7
Interfaces + mixins => problem
Tom S <h3r3tic@remove.mat.uni.torun.pl>
2006-05-02
news:e37iiv$482$1@digitaldaemon.com
author | thomask |
---|---|
date | Mon, 22 May 2006 20:15:07 +0000 |
parents | 01533f91d19a |
children | 26f680ab52cd |
files | nocompile/m/mixin_22_A.d nocompile/m/mixin_22_B.d nocompile/m/mixin_22_C.d nocompile/m/mixin_22_D.d |
diffstat | 4 files changed, 132 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/nocompile/m/mixin_22_A.d Mon May 22 20:15:07 2006 +0000 @@ -0,0 +1,32 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +// @author@ om S <h3r3tic@remove.mat.uni.torun.pl> +// @date@ 2006-05-02 +// @uri@ news:e37iiv$482$1@digitaldaemon.com + +module dstress.nocompile.m.mixin_22_A; + +interface I{ + void foo(); +} + +template T1(){ + void foo(){ + } +} + +template T2(){ + void foo(){ + } +} + +class C : I{ + mixin T1; + mixin T2; +} + +void main(){ + C c = new C(); +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/nocompile/m/mixin_22_B.d Mon May 22 20:15:07 2006 +0000 @@ -0,0 +1,32 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +// @author@ Tom S <h3r3tic@remove.mat.uni.torun.pl> +// @date@ 2006-05-02 +// @uri@ news:e37iiv$482$1@digitaldaemon.com + +module dstress.nocompile.m.mixin_22_B; + +interface I{ + void foo(); +} + +template T1(){ + void foo(){ + } +} + +template T2(){ + void foo(){ + } +} + +class C : I{ + mixin T1!() t1; + mixin T2!() t2; +} + +void main(){ + C c = new C(); +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/nocompile/m/mixin_22_C.d Mon May 22 20:15:07 2006 +0000 @@ -0,0 +1,32 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +// @author@ Tom S <h3r3tic@remove.mat.uni.torun.pl> +// @date@ 2006-05-02 +// @uri@ news:e37iiv$482$1@digitaldaemon.com + +module dstress.nocompile.m.mixin_22_C; + +interface I{ + void foo(); +} + +template T1(){ + void foo(){ + } +} + +template T2(){ + void foo(){ + } +} + +class C : I{ + mixin T1 t1; + mixin T2 t2; +} + +void main(){ + C c = new C(); +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/nocompile/m/mixin_22_D.d Mon May 22 20:15:07 2006 +0000 @@ -0,0 +1,36 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +// @author@ Tom S <h3r3tic@remove.mat.uni.torun.pl> +// @date@ 2006-05-02 +// @uri@ news:e37iiv$482$1@digitaldaemon.com + +module dstress.nocompile.m.mixin_22_D; + +interface I{ + void foo(); +} + +template T1(){ + void foo(){ + } +} + +template T2(){ + void foo(){ + } +} + +class C : I{ + mixin T1 t1; + mixin T2 t2; +} + +int main(){ + C c = new C(); + I i = c; + i.foo(); + + return 0; +}