Mercurial > projects > ldc
annotate tests/mini/tupleval.d @ 704:43165a082535
Fixed issue with accessing a WithStatement context from inside a nested function. see mini/with2.d
Renamed some LLVM uses of ::create statics to ::Create , lower case ones will be deprecated soon.
author | Tomas Lindquist Olsen <tomas.l.olsen@gmail.com> |
---|---|
date | Tue, 14 Oct 2008 13:21:14 +0200 |
parents | 8d850fa25713 |
children |
rev | line source |
---|---|
648
8d850fa25713
Fix VarDecls for tuples. Closes #99.
Christian Kamm <kamm incasoftware de>
parents:
diff
changeset
|
1 module foo; |
8d850fa25713
Fix VarDecls for tuples. Closes #99.
Christian Kamm <kamm incasoftware de>
parents:
diff
changeset
|
2 |
8d850fa25713
Fix VarDecls for tuples. Closes #99.
Christian Kamm <kamm incasoftware de>
parents:
diff
changeset
|
3 template ParameterTupleOf( Fn ) |
8d850fa25713
Fix VarDecls for tuples. Closes #99.
Christian Kamm <kamm incasoftware de>
parents:
diff
changeset
|
4 { |
8d850fa25713
Fix VarDecls for tuples. Closes #99.
Christian Kamm <kamm incasoftware de>
parents:
diff
changeset
|
5 static if( is( Fn Params == function ) ) |
8d850fa25713
Fix VarDecls for tuples. Closes #99.
Christian Kamm <kamm incasoftware de>
parents:
diff
changeset
|
6 alias Params ParameterTupleOf; |
8d850fa25713
Fix VarDecls for tuples. Closes #99.
Christian Kamm <kamm incasoftware de>
parents:
diff
changeset
|
7 else static if( is( Fn Params == delegate ) ) |
8d850fa25713
Fix VarDecls for tuples. Closes #99.
Christian Kamm <kamm incasoftware de>
parents:
diff
changeset
|
8 alias ParameterTupleOf!(Params) ParameterTupleOf; |
8d850fa25713
Fix VarDecls for tuples. Closes #99.
Christian Kamm <kamm incasoftware de>
parents:
diff
changeset
|
9 else static if( is( Fn Params == Params* ) ) |
8d850fa25713
Fix VarDecls for tuples. Closes #99.
Christian Kamm <kamm incasoftware de>
parents:
diff
changeset
|
10 alias ParameterTupleOf!(Params) ParameterTupleOf; |
8d850fa25713
Fix VarDecls for tuples. Closes #99.
Christian Kamm <kamm incasoftware de>
parents:
diff
changeset
|
11 else |
8d850fa25713
Fix VarDecls for tuples. Closes #99.
Christian Kamm <kamm incasoftware de>
parents:
diff
changeset
|
12 static assert( false, "Argument has no parameters." ); |
8d850fa25713
Fix VarDecls for tuples. Closes #99.
Christian Kamm <kamm incasoftware de>
parents:
diff
changeset
|
13 } |
8d850fa25713
Fix VarDecls for tuples. Closes #99.
Christian Kamm <kamm incasoftware de>
parents:
diff
changeset
|
14 |
8d850fa25713
Fix VarDecls for tuples. Closes #99.
Christian Kamm <kamm incasoftware de>
parents:
diff
changeset
|
15 struct S |
8d850fa25713
Fix VarDecls for tuples. Closes #99.
Christian Kamm <kamm incasoftware de>
parents:
diff
changeset
|
16 { |
8d850fa25713
Fix VarDecls for tuples. Closes #99.
Christian Kamm <kamm incasoftware de>
parents:
diff
changeset
|
17 int opApply(T)(T dg) |
8d850fa25713
Fix VarDecls for tuples. Closes #99.
Christian Kamm <kamm incasoftware de>
parents:
diff
changeset
|
18 { |
8d850fa25713
Fix VarDecls for tuples. Closes #99.
Christian Kamm <kamm incasoftware de>
parents:
diff
changeset
|
19 alias ParameterTupleOf!(T) U; |
8d850fa25713
Fix VarDecls for tuples. Closes #99.
Christian Kamm <kamm incasoftware de>
parents:
diff
changeset
|
20 U u; |
8d850fa25713
Fix VarDecls for tuples. Closes #99.
Christian Kamm <kamm incasoftware de>
parents:
diff
changeset
|
21 u[0] = 1; |
8d850fa25713
Fix VarDecls for tuples. Closes #99.
Christian Kamm <kamm incasoftware de>
parents:
diff
changeset
|
22 u[1] = 2; |
8d850fa25713
Fix VarDecls for tuples. Closes #99.
Christian Kamm <kamm incasoftware de>
parents:
diff
changeset
|
23 return 0; |
8d850fa25713
Fix VarDecls for tuples. Closes #99.
Christian Kamm <kamm incasoftware de>
parents:
diff
changeset
|
24 } |
8d850fa25713
Fix VarDecls for tuples. Closes #99.
Christian Kamm <kamm incasoftware de>
parents:
diff
changeset
|
25 } |
8d850fa25713
Fix VarDecls for tuples. Closes #99.
Christian Kamm <kamm incasoftware de>
parents:
diff
changeset
|
26 |
8d850fa25713
Fix VarDecls for tuples. Closes #99.
Christian Kamm <kamm incasoftware de>
parents:
diff
changeset
|
27 void main() |
8d850fa25713
Fix VarDecls for tuples. Closes #99.
Christian Kamm <kamm incasoftware de>
parents:
diff
changeset
|
28 { |
8d850fa25713
Fix VarDecls for tuples. Closes #99.
Christian Kamm <kamm incasoftware de>
parents:
diff
changeset
|
29 foreach(int x, int y; S()){} |
8d850fa25713
Fix VarDecls for tuples. Closes #99.
Christian Kamm <kamm incasoftware de>
parents:
diff
changeset
|
30 } |