annotate run/t/template_42_A.d @ 1630:d0efa3ae5522 default tip

run/mini/naked_asm5: New x86_64 ABI passes the arguments in reverse order.
author David Nadlinger <code@klickverbot.at>
date Sat, 23 Apr 2011 22:57:32 +0200
parents daef239f37cf
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1097
ba136e21b011 [Issue 274] Different template alias arguments are treated as the same.
thomask
parents:
diff changeset
1 // $HeadURL$
ba136e21b011 [Issue 274] Different template alias arguments are treated as the same.
thomask
parents:
diff changeset
2 // $Date$
ba136e21b011 [Issue 274] Different template alias arguments are treated as the same.
thomask
parents:
diff changeset
3 // $Author$
ba136e21b011 [Issue 274] Different template alias arguments are treated as the same.
thomask
parents:
diff changeset
4
ba136e21b011 [Issue 274] Different template alias arguments are treated as the same.
thomask
parents:
diff changeset
5 // @author@ Bruno Medeiros <daiphoenix@lycos.com>
ba136e21b011 [Issue 274] Different template alias arguments are treated as the same.
thomask
parents:
diff changeset
6 // @date@ 2006-08-01
1320
daef239f37cf sed'ed replacement of new:...http.d.puremagic.com/issues/ with http://d.puremagic.com/issues/show_bug.cgi?...
thomask
parents: 1097
diff changeset
7 // @uri@ http://d.puremagic.com/issues/show_bug.cgi?id=274
1097
ba136e21b011 [Issue 274] Different template alias arguments are treated as the same.
thomask
parents:
diff changeset
8 // @desc@ [Issue 274] Different template alias arguments are treated as the same.
ba136e21b011 [Issue 274] Different template alias arguments are treated as the same.
thomask
parents:
diff changeset
9
ba136e21b011 [Issue 274] Different template alias arguments are treated as the same.
thomask
parents:
diff changeset
10 module dstress.run.t.template_42_A;
ba136e21b011 [Issue 274] Different template alias arguments are treated as the same.
thomask
parents:
diff changeset
11
ba136e21b011 [Issue 274] Different template alias arguments are treated as the same.
thomask
parents:
diff changeset
12 class Foo {
ba136e21b011 [Issue 274] Different template alias arguments are treated as the same.
thomask
parents:
diff changeset
13 }
ba136e21b011 [Issue 274] Different template alias arguments are treated as the same.
thomask
parents:
diff changeset
14
ba136e21b011 [Issue 274] Different template alias arguments are treated as the same.
thomask
parents:
diff changeset
15 class Bar {
ba136e21b011 [Issue 274] Different template alias arguments are treated as the same.
thomask
parents:
diff changeset
16 }
ba136e21b011 [Issue 274] Different template alias arguments are treated as the same.
thomask
parents:
diff changeset
17
ba136e21b011 [Issue 274] Different template alias arguments are treated as the same.
thomask
parents:
diff changeset
18 template aliastest(alias A) {
ba136e21b011 [Issue 274] Different template alias arguments are treated as the same.
thomask
parents:
diff changeset
19 char[] aliastest() {
ba136e21b011 [Issue 274] Different template alias arguments are treated as the same.
thomask
parents:
diff changeset
20 return (new A!().al).classinfo.name;
ba136e21b011 [Issue 274] Different template alias arguments are treated as the same.
thomask
parents:
diff changeset
21 }
ba136e21b011 [Issue 274] Different template alias arguments are treated as the same.
thomask
parents:
diff changeset
22 }
ba136e21b011 [Issue 274] Different template alias arguments are treated as the same.
thomask
parents:
diff changeset
23
ba136e21b011 [Issue 274] Different template alias arguments are treated as the same.
thomask
parents:
diff changeset
24 template outerBox(alias A) {
ba136e21b011 [Issue 274] Different template alias arguments are treated as the same.
thomask
parents:
diff changeset
25 template box() {
ba136e21b011 [Issue 274] Different template alias arguments are treated as the same.
thomask
parents:
diff changeset
26 alias A al;
ba136e21b011 [Issue 274] Different template alias arguments are treated as the same.
thomask
parents:
diff changeset
27 }
ba136e21b011 [Issue 274] Different template alias arguments are treated as the same.
thomask
parents:
diff changeset
28 }
ba136e21b011 [Issue 274] Different template alias arguments are treated as the same.
thomask
parents:
diff changeset
29
ba136e21b011 [Issue 274] Different template alias arguments are treated as the same.
thomask
parents:
diff changeset
30 int main() {
ba136e21b011 [Issue 274] Different template alias arguments are treated as the same.
thomask
parents:
diff changeset
31 if(aliastest!(outerBox!(Foo).box) ()[$-3 .. $] != "Foo"){
ba136e21b011 [Issue 274] Different template alias arguments are treated as the same.
thomask
parents:
diff changeset
32 assert(0);
ba136e21b011 [Issue 274] Different template alias arguments are treated as the same.
thomask
parents:
diff changeset
33 }
ba136e21b011 [Issue 274] Different template alias arguments are treated as the same.
thomask
parents:
diff changeset
34 if(aliastest!(outerBox!(Bar).box) ()[$-3 .. $] != "Bar"){
ba136e21b011 [Issue 274] Different template alias arguments are treated as the same.
thomask
parents:
diff changeset
35 assert(0);
ba136e21b011 [Issue 274] Different template alias arguments are treated as the same.
thomask
parents:
diff changeset
36 }
ba136e21b011 [Issue 274] Different template alias arguments are treated as the same.
thomask
parents:
diff changeset
37 return 0;
ba136e21b011 [Issue 274] Different template alias arguments are treated as the same.
thomask
parents:
diff changeset
38 }
ba136e21b011 [Issue 274] Different template alias arguments are treated as the same.
thomask
parents:
diff changeset
39