Mercurial > projects > dstress
changeset 1256:27780213cb6d
[Issue 664] New: is(func T == return) ignores variadic arguments
Thomas K?hne <thomas-dloop@kuehne.cn>
2006-12-09
news:bug-664-3@http.d.puremagic.com/issues/
author | thomask |
---|---|
date | Sun, 10 Dec 2006 16:49:47 +0000 |
parents | cfe776588fc0 |
children | 0208c958eeac |
files | compile/i/is_16_A.d compile/i/is_16_B.d compile/i/is_16_C.d |
diffstat | 3 files changed, 69 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/compile/i/is_16_A.d Sun Dec 10 16:49:47 2006 +0000 @@ -0,0 +1,23 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +// @author@ Thomas Kühne <thomas-dloop@kuehne.cn> +// @date@ 2006-12-09 +// @uri@ news:bug-664-3@http.d.puremagic.com/issues/ +// @desc@ [Issue 664] New: is(func T == return) ignores variadic arguments + +module dstress.compile.i.is_16_A; + +void foo(int); +void bar(int, ...); + +static if(is(typeof(foo) X == function)){ + static if(is(typeof(bar) Y == function)){ + static assert(X.length != Y.length); + }else{ + static assert(0); + } +}else{ + static assert(0); +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/compile/i/is_16_B.d Sun Dec 10 16:49:47 2006 +0000 @@ -0,0 +1,23 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +// @author@ Thomas Kühne <thomas-dloop@kuehne.cn> +// @date@ 2006-12-09 +// @uri@ news:bug-664-3@http.d.puremagic.com/issues/ +// @desc@ [Issue 664] New: is(func T == return) ignores variadic arguments + +module dstress.compile.i.is_16_B; + +void foo(int); +void bar(int ...); + +static if(is(typeof(foo) X == function)){ + static if(is(typeof(bar) Y == function)){ + static assert((X.length != Y.length) || (!is(X[0] == Y[0]))); + }else{ + static assert(0); + } +}else{ + static assert(0); +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/compile/i/is_16_C.d Sun Dec 10 16:49:47 2006 +0000 @@ -0,0 +1,23 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +// @author@ Thomas Kühne <thomas-dloop@kuehne.cn> +// @date@ 2006-12-09 +// @uri@ news:bug-664-3@http.d.puremagic.com/issues/ +// @desc@ [Issue 664] New: is(func T == return) ignores variadic arguments + +module dstress.compile.i.is_16_C; + +void foo(int, ...); +void bar(int ...); + +static if(is(typeof(foo) X == function)){ + static if(is(typeof(bar) Y == function)){ + static assert((X.length != Y.length) || (!is(X[$-1] == Y[$-1]))); + }else{ + static assert(0); + } +}else{ + static assert(0); +}