Mercurial > projects > ldc
annotate test/d.d @ 108:288fe1029e1f trunk
[svn r112] Fixed 'case 1,2,3:' style case statements.
Fixed a bunch of bugs with return/break/continue in loops.
Fixed support for the DMDFE hidden implicit return value variable. This can be needed for some foreach statements where the loop body is converted to a nested delegate, but also possibly returns from the function.
Added std.math to phobos.
Added AA runtime support code, done ground work for implementing AAs.
Several other bugfixes.
author | lindquist |
---|---|
date | Tue, 20 Nov 2007 05:29:20 +0100 |
parents | b706170e24a9 |
children |
rev | line source |
---|---|
1 | 1 module d; |
73 | 2 |
1 | 3 void main() |
4 { | |
5 int delegate() dg; | |
6 | |
7 struct S | |
8 { | |
9 int i; | |
10 long l; | |
11 float f; | |
12 | |
13 int func() | |
14 { | |
15 return 42; | |
16 } | |
17 } | |
18 | |
19 S s; | |
20 auto dg2 = &s.func; | |
73 | 21 int i = dg2(); |
22 assert(i == 42); | |
1 | 23 |
24 i = f(dg2, 1); | |
73 | 25 assert(i == 43); |
1 | 26 } |
27 | |
28 int f(int delegate() dg, int i) | |
29 { | |
30 return dg() + i; | |
31 } | |
32 | |
73 | 33 /* |
1 | 34 struct S |
35 { | |
36 int i; | |
37 float f; | |
38 int square() | |
39 { | |
40 return i*i; | |
41 } | |
42 } | |
43 | |
44 S s; | |
45 | |
46 void main() | |
47 { | |
48 auto dg = &s.square; | |
49 } | |
73 | 50 */ |