annotate tests/mini/tupleval.d @ 650:aa6a0b7968f7

Added test case for bug #100 Removed dubious check for not emitting static private global in other modules without access. This should be handled properly somewhere else, it's causing unresolved global errors for stuff that should work (in MiniD)
author Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
date Sun, 05 Oct 2008 17:28:15 +0200
parents 8d850fa25713
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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 }