Mercurial > projects > dstress
changeset 486:73ac7d1627e0
new(...)
Walter <walter@digitalmars.com>
2005-04-24
mail:008801c548aa$8e2f4570$0200a8c0@colossus
author | thomask |
---|---|
date | Tue, 26 Apr 2005 12:24:05 +0000 |
parents | 1197cba57329 |
children | 15d9857b07bd |
files | nocompile/new_04.d run/bug_e2ir_141_D.d run/new_04.d |
diffstat | 3 files changed, 35 insertions(+), 16 deletions(-) [+] |
line wrap: on
line diff
--- a/nocompile/new_04.d Tue Apr 26 12:09:29 2005 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,14 +0,0 @@ -// $HeadURL$ -// $Date$ -// $Author$ - -// __DSTRESS_ELINE__ 10 - -module dstress.nocompile.new_04; - -class MyClass{ - new(size_t size, byte blah){ - void* v; - return v; - } -}
--- a/run/bug_e2ir_141_D.d Tue Apr 26 12:09:29 2005 +0000 +++ b/run/bug_e2ir_141_D.d Tue Apr 26 12:24:05 2005 +0000 @@ -15,6 +15,8 @@ } class MyClass{ + static MyUnion dummy; + static MyUnion prop(){ return dummy; } @@ -24,8 +26,6 @@ } } -MyUnion dummy; - int main(){ MyClass c = new MyClass(); c.prop = true ? MyClass.prop : MyClass.prop;
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/new_04.d Tue Apr 26 12:24:05 2005 +0000 @@ -0,0 +1,33 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.new_04; + +extern(C) void* malloc(size_t); + +byte a; + +class MyClass{ + byte b; + + this(byte c){ + b=c; + } + + new(size_t size, byte blah){ + void* v=malloc(size); + if(v===null){ + throw new Exception(null); + } + a=blah; + return v; + } +} + +int main(){ + MyClass m = new(21) MyClass(12); + assert(m.b==12); + assert(a==21); + return 0; +}