annotate tests/mini/bug163_void_condexp.d @ 1185:8baf611f0009

Fix nested references to 'ref' foreach variables. These "walk around" the array being iterated over, so they're a bit trickier than other variables to get right.
author Frits van Bommel <fvbommel wxs.nl>
date Wed, 01 Apr 2009 00:01:44 +0200
parents 7f6eeb7b003e
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
887
7f6eeb7b003e Fix #163.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
1
7f6eeb7b003e Fix #163.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
2 static foocalled = false;
7f6eeb7b003e Fix #163.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
3 static barcalled = false;
7f6eeb7b003e Fix #163.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
4 void foo() { foocalled = true; }
7f6eeb7b003e Fix #163.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
5 void bar() { barcalled = true; }
7f6eeb7b003e Fix #163.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
6
7f6eeb7b003e Fix #163.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
7 void f(bool b)
7f6eeb7b003e Fix #163.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
8 {
7f6eeb7b003e Fix #163.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
9 return b ? foo() : bar();
7f6eeb7b003e Fix #163.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
10 }
7f6eeb7b003e Fix #163.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
11
7f6eeb7b003e Fix #163.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
12 void main()
7f6eeb7b003e Fix #163.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
13 {
7f6eeb7b003e Fix #163.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
14 f(true);
7f6eeb7b003e Fix #163.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
15 assert(foocalled && !barcalled);
7f6eeb7b003e Fix #163.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
16 f(false);
7f6eeb7b003e Fix #163.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
17 assert(foocalled && barcalled);
7f6eeb7b003e Fix #163.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
18 }