Mercurial > projects > dstress
annotate compile/t/tuple_27_A.d @ 1622:d402aa53926c
Add test for bug 3092 written by Manuel K?nig
author | Leandro Lucarella <llucax@gmail.com> |
---|---|
date | Tue, 19 Oct 2010 19:18:23 -0300 |
parents | |
children |
rev | line source |
---|---|
1622
d402aa53926c
Add test for bug 3092 written by Manuel K?nig
Leandro Lucarella <llucax@gmail.com>
parents:
diff
changeset
|
1 // $HeadURL$ |
d402aa53926c
Add test for bug 3092 written by Manuel K?nig
Leandro Lucarella <llucax@gmail.com>
parents:
diff
changeset
|
2 // $Date$ |
d402aa53926c
Add test for bug 3092 written by Manuel K?nig
Leandro Lucarella <llucax@gmail.com>
parents:
diff
changeset
|
3 // $Author$ |
d402aa53926c
Add test for bug 3092 written by Manuel K?nig
Leandro Lucarella <llucax@gmail.com>
parents:
diff
changeset
|
4 |
d402aa53926c
Add test for bug 3092 written by Manuel K?nig
Leandro Lucarella <llucax@gmail.com>
parents:
diff
changeset
|
5 // @author@ Manuel König <manuelk89@gmx.net> |
d402aa53926c
Add test for bug 3092 written by Manuel K?nig
Leandro Lucarella <llucax@gmail.com>
parents:
diff
changeset
|
6 // @date@ 2010-10-11 |
d402aa53926c
Add test for bug 3092 written by Manuel K?nig
Leandro Lucarella <llucax@gmail.com>
parents:
diff
changeset
|
7 // @uri@ http://d.puremagic.com/issues/show_bug.cgi?id=3092 |
d402aa53926c
Add test for bug 3092 written by Manuel K?nig
Leandro Lucarella <llucax@gmail.com>
parents:
diff
changeset
|
8 // @desc@ [Issue 3092] Indexing a tuple produces a tuple containing the indexed element (only happens when indexing type items in a non-type-tuple) |
d402aa53926c
Add test for bug 3092 written by Manuel K?nig
Leandro Lucarella <llucax@gmail.com>
parents:
diff
changeset
|
9 |
d402aa53926c
Add test for bug 3092 written by Manuel K?nig
Leandro Lucarella <llucax@gmail.com>
parents:
diff
changeset
|
10 module dstress.compile.t.tuple_27_A; |
d402aa53926c
Add test for bug 3092 written by Manuel K?nig
Leandro Lucarella <llucax@gmail.com>
parents:
diff
changeset
|
11 |
d402aa53926c
Add test for bug 3092 written by Manuel K?nig
Leandro Lucarella <llucax@gmail.com>
parents:
diff
changeset
|
12 template TupleBug(values...) |
d402aa53926c
Add test for bug 3092 written by Manuel K?nig
Leandro Lucarella <llucax@gmail.com>
parents:
diff
changeset
|
13 { |
d402aa53926c
Add test for bug 3092 written by Manuel K?nig
Leandro Lucarella <llucax@gmail.com>
parents:
diff
changeset
|
14 alias values[0] v0; |
d402aa53926c
Add test for bug 3092 written by Manuel K?nig
Leandro Lucarella <llucax@gmail.com>
parents:
diff
changeset
|
15 alias values[0][0][0][0][0] chain; |
d402aa53926c
Add test for bug 3092 written by Manuel K?nig
Leandro Lucarella <llucax@gmail.com>
parents:
diff
changeset
|
16 |
d402aa53926c
Add test for bug 3092 written by Manuel K?nig
Leandro Lucarella <llucax@gmail.com>
parents:
diff
changeset
|
17 /* for debugging this test case |
d402aa53926c
Add test for bug 3092 written by Manuel K?nig
Leandro Lucarella <llucax@gmail.com>
parents:
diff
changeset
|
18 pragma(msg, "values: ", values); |
d402aa53926c
Add test for bug 3092 written by Manuel K?nig
Leandro Lucarella <llucax@gmail.com>
parents:
diff
changeset
|
19 pragma(msg, "v0: ", v0); |
d402aa53926c
Add test for bug 3092 written by Manuel K?nig
Leandro Lucarella <llucax@gmail.com>
parents:
diff
changeset
|
20 pragma(msg, "values[0]: ", values[0]); |
d402aa53926c
Add test for bug 3092 written by Manuel K?nig
Leandro Lucarella <llucax@gmail.com>
parents:
diff
changeset
|
21 pragma(msg, "chain: ", chain); |
d402aa53926c
Add test for bug 3092 written by Manuel K?nig
Leandro Lucarella <llucax@gmail.com>
parents:
diff
changeset
|
22 |
d402aa53926c
Add test for bug 3092 written by Manuel K?nig
Leandro Lucarella <llucax@gmail.com>
parents:
diff
changeset
|
23 eg. for TupleBug!(int, 1, char) this should print |
d402aa53926c
Add test for bug 3092 written by Manuel K?nig
Leandro Lucarella <llucax@gmail.com>
parents:
diff
changeset
|
24 |
d402aa53926c
Add test for bug 3092 written by Manuel K?nig
Leandro Lucarella <llucax@gmail.com>
parents:
diff
changeset
|
25 values: tuple(int, 1, char) |
d402aa53926c
Add test for bug 3092 written by Manuel K?nig
Leandro Lucarella <llucax@gmail.com>
parents:
diff
changeset
|
26 v0: int |
d402aa53926c
Add test for bug 3092 written by Manuel K?nig
Leandro Lucarella <llucax@gmail.com>
parents:
diff
changeset
|
27 values[0]: int |
d402aa53926c
Add test for bug 3092 written by Manuel K?nig
Leandro Lucarella <llucax@gmail.com>
parents:
diff
changeset
|
28 chain: int[0][0][0][0] |
d402aa53926c
Add test for bug 3092 written by Manuel K?nig
Leandro Lucarella <llucax@gmail.com>
parents:
diff
changeset
|
29 |
d402aa53926c
Add test for bug 3092 written by Manuel K?nig
Leandro Lucarella <llucax@gmail.com>
parents:
diff
changeset
|
30 When v0, values[0 and chain are printed correct, but values |
d402aa53926c
Add test for bug 3092 written by Manuel K?nig
Leandro Lucarella <llucax@gmail.com>
parents:
diff
changeset
|
31 looks like |
d402aa53926c
Add test for bug 3092 written by Manuel K?nig
Leandro Lucarella <llucax@gmail.com>
parents:
diff
changeset
|
32 |
d402aa53926c
Add test for bug 3092 written by Manuel K?nig
Leandro Lucarella <llucax@gmail.com>
parents:
diff
changeset
|
33 values: tuple((int), 1, (char)) |
d402aa53926c
Add test for bug 3092 written by Manuel K?nig
Leandro Lucarella <llucax@gmail.com>
parents:
diff
changeset
|
34 |
d402aa53926c
Add test for bug 3092 written by Manuel K?nig
Leandro Lucarella <llucax@gmail.com>
parents:
diff
changeset
|
35 this is most likely only a formatting bug in expToCBuffer in expression.c. |
d402aa53926c
Add test for bug 3092 written by Manuel K?nig
Leandro Lucarella <llucax@gmail.com>
parents:
diff
changeset
|
36 */ |
d402aa53926c
Add test for bug 3092 written by Manuel K?nig
Leandro Lucarella <llucax@gmail.com>
parents:
diff
changeset
|
37 |
d402aa53926c
Add test for bug 3092 written by Manuel K?nig
Leandro Lucarella <llucax@gmail.com>
parents:
diff
changeset
|
38 static assert(is(v0 == int)); |
d402aa53926c
Add test for bug 3092 written by Manuel K?nig
Leandro Lucarella <llucax@gmail.com>
parents:
diff
changeset
|
39 static assert(is(chain == int[0][0][0][0])); |
d402aa53926c
Add test for bug 3092 written by Manuel K?nig
Leandro Lucarella <llucax@gmail.com>
parents:
diff
changeset
|
40 |
d402aa53926c
Add test for bug 3092 written by Manuel K?nig
Leandro Lucarella <llucax@gmail.com>
parents:
diff
changeset
|
41 v0 i; |
d402aa53926c
Add test for bug 3092 written by Manuel K?nig
Leandro Lucarella <llucax@gmail.com>
parents:
diff
changeset
|
42 chain c; |
d402aa53926c
Add test for bug 3092 written by Manuel K?nig
Leandro Lucarella <llucax@gmail.com>
parents:
diff
changeset
|
43 |
d402aa53926c
Add test for bug 3092 written by Manuel K?nig
Leandro Lucarella <llucax@gmail.com>
parents:
diff
changeset
|
44 static assert(is(typeof(i) == int)); |
d402aa53926c
Add test for bug 3092 written by Manuel K?nig
Leandro Lucarella <llucax@gmail.com>
parents:
diff
changeset
|
45 static assert(is(typeof(c) == int[0][0][0][0])); |
d402aa53926c
Add test for bug 3092 written by Manuel K?nig
Leandro Lucarella <llucax@gmail.com>
parents:
diff
changeset
|
46 } |
d402aa53926c
Add test for bug 3092 written by Manuel K?nig
Leandro Lucarella <llucax@gmail.com>
parents:
diff
changeset
|
47 |
d402aa53926c
Add test for bug 3092 written by Manuel K?nig
Leandro Lucarella <llucax@gmail.com>
parents:
diff
changeset
|
48 alias TupleBug!(int) _0; |
d402aa53926c
Add test for bug 3092 written by Manuel K?nig
Leandro Lucarella <llucax@gmail.com>
parents:
diff
changeset
|
49 alias TupleBug!(int, "foo") _1; |
d402aa53926c
Add test for bug 3092 written by Manuel K?nig
Leandro Lucarella <llucax@gmail.com>
parents:
diff
changeset
|
50 alias TupleBug!(int, 1, char) _2; |
d402aa53926c
Add test for bug 3092 written by Manuel K?nig
Leandro Lucarella <llucax@gmail.com>
parents:
diff
changeset
|
51 alias TupleBug!(int, ulong, char[], void*) _3; |
d402aa53926c
Add test for bug 3092 written by Manuel K?nig
Leandro Lucarella <llucax@gmail.com>
parents:
diff
changeset
|
52 |