Mercurial > projects > dstress
changeset 1446:62646ef1013a
[Issue 1075] dmd reject valid code
david <davidl@126.com>
2007-03-21
http://d.puremagic.com/issues/show_bug.cgi?id=1075
author | thomask |
---|---|
date | Wed, 04 Apr 2007 17:35:10 +0000 |
parents | 724d76f90c83 |
children | ef3062e62d77 |
files | run/m/mixin_30_A.d run/m/mixin_30_B.d run/m/mixin_30_C.d run/m/mixin_30_D.d run/m/mixin_30_E.d |
diffstat | 5 files changed, 161 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/m/mixin_30_A.d Wed Apr 04 17:35:10 2007 +0000 @@ -0,0 +1,32 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +// @author@ david <davidl@126.com> +// @date@ 2007-03-21 +// @uri@ http://d.puremagic.com/issues/show_bug.cgi?id=1075 +// @desc@ [Issue 1075] dmd reject valid code + +module dstress.run.m.mixin_30_A; + +int x; + +class Outer{ + int y; + + class Inner{ + mixin("this(){ x += y; }"); + } +} + +int main(){ + Outer o = new Outer(); + o.y = 3; + x = 2; + Outer.Inner i = o.new Inner(); + + if(5 != x){ + assert(0); + } + return 0; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/m/mixin_30_B.d Wed Apr 04 17:35:10 2007 +0000 @@ -0,0 +1,33 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +// @author@ david <davidl@126.com> +// @date@ 2007-03-21 +// @uri@ http://d.puremagic.com/issues/show_bug.cgi?id=1075 +// @desc@ [Issue 1075] dmd reject valid code + +module dstress.run.m.mixin_30_B; + +int x; + +class Outer{ + static const char[] c = "this(){ x += y; }"; + int y; + + class Inner{ + mixin(c); + } +} + +int main(){ + Outer o = new Outer(); + o.y = 3; + x = 2; + Outer.Inner i = o.new Inner(); + + if(5 != x){ + assert(0); + } + return 0; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/m/mixin_30_C.d Wed Apr 04 17:35:10 2007 +0000 @@ -0,0 +1,36 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +// @author@ david <davidl@126.com> +// @date@ 2007-03-21 +// @uri@ http://d.puremagic.com/issues/show_bug.cgi?id=1075 +// @desc@ [Issue 1075] dmd reject valid code + +module dstress.run.m.mixin_30_C; + +int x; + +class Outer{ + static char[] c(){ + return "this(){ x += y; }"; + } + + int y; + + class Inner{ + mixin(c()); + } +} + +int main(){ + Outer o = new Outer(); + o.y = 3; + x = 2; + Outer.Inner i = o.new Inner(); + + if(5 != x){ + assert(0); + } + return 0; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/m/mixin_30_D.d Wed Apr 04 17:35:10 2007 +0000 @@ -0,0 +1,30 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +// @author@ david <davidl@126.com> +// @date@ 2007-03-21 +// @uri@ http://d.puremagic.com/issues/show_bug.cgi?id=1075 +// @desc@ [Issue 1075] dmd reject valid code + +module dstress.run.m.mixin_30_D; + +int x; + +class Outer{ + static char[] c(){ + return "this(){ x++; }"; + } + + mixin(c()); +} + +int main(){ + x = 0; + + Outer o = new Outer(); + if(1 != x){ + assert(0); + } + return 0; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/m/mixin_30_E.d Wed Apr 04 17:35:10 2007 +0000 @@ -0,0 +1,30 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +// @author@ david <davidl@126.com> +// @date@ 2007-03-21 +// @uri@ http://d.puremagic.com/issues/show_bug.cgi?id=1075 +// @desc@ [Issue 1075] dmd reject valid code + +module dstress.run.m.mixin_30_E; + +int x; + +static char[] c(){ + return "this(){ x++; }"; +} + +class Outer{ + mixin(c()); +} + +int main(){ + x = 0; + + Outer o = new Outer(); + if(1 != x){ + assert(0); + } + return 0; +}