# HG changeset patch # User thomask # Date 1167575317 0 # Node ID f6001af60ca0e96a1b1a00b2209cd49e5789fb02 # Parent eac3a538961acaa4c8b26b490c9b7f63274c1178 [Issue 771] template func returns delegate w. param list from tuple and type, odd compiler error downs 2006-12-29 http://d.puremagic.com/issues/show_bug.cgi?id=771 diff -r eac3a538961a -r f6001af60ca0 reporter.txt --- a/reporter.txt Sun Dec 31 14:28:27 2006 +0000 +++ b/reporter.txt Sun Dec 31 14:28:37 2006 +0000 @@ -50,6 +50,7 @@ Derek Parnell dickl Don Clugston +downs ElfQT Eric Anderton (aka Pragma) Eugene Pelekhay diff -r eac3a538961a -r f6001af60ca0 run/t/tuple_12_A.d --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/t/tuple_12_A.d Sun Dec 31 14:28:37 2006 +0000 @@ -0,0 +1,27 @@ +// $HeadURL$ +// $Date$ +// $HeadURL$ + +// @author@ downs +// @date@ 2006-12-29 +// @uri@ http://d.puremagic.com/issues/show_bug.cgi?id=771 +// @desc@ [Issue 771] template func returns delegate w. param list from tuple and type, odd compiler error + +module dstress.run.t.tuple_12_A; + +template Concat(S, T...){ + void delegate(T, S) Concat(void delegate(T) one, void delegate(S) two) { + return delegate void(T t, S s){}; + } +} + +int main() { + void delegate(char, char, int) dg; + + dg = Concat( + delegate void(char a, char b) {}, + delegate void(int lol) {} + ); + + return 0; +} diff -r eac3a538961a -r f6001af60ca0 run/t/tuple_12_B.d --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/t/tuple_12_B.d Sun Dec 31 14:28:37 2006 +0000 @@ -0,0 +1,24 @@ +// $HeadURL$ +// $Date$ +// $HeadURL$ + +// @author@ downs +// @date@ 2006-12-29 +// @uri@ http://d.puremagic.com/issues/show_bug.cgi?id=771 +// @desc@ [Issue 771] template func returns delegate w. param list from tuple and type, odd compiler error + +module dstress.run.t.tuple_12_B; + +template Concat(T...){ + void delegate(T) Concat(void delegate(T) one) { + return delegate void(T t){}; + } +} + +int main() { + void delegate(char, char, int) dg; + + dg = Concat(delegate void(char a, char b, int c) {}); + + return 0; +}