374
|
1 // $HeadURL$
|
|
2 // $Date$
|
|
3 // $Author$
|
|
4
|
|
5 // @author@ Thomas Kuehne <thomas-dloop@kuehne.thisisspam.cn>
|
|
6 // @date@ 2004-10-22
|
|
7 // @uri@ news:clbr09$uc6$1@digitaldaemon.com
|
1487
|
8 // @uri@ http://www.digitalmars.com/pnews/read.php?server=news.digitalmars.com&group=digitalmars.D.bugs&artnum=2140
|
374
|
9
|
|
10 // invariants for Unions allowed since dmd-0.119
|
|
11
|
736
|
12 // __DSTRESS_TORTURE_BLOCK__ -release
|
|
13
|
374
|
14 module dstress.run.invariant_06;
|
|
15
|
|
16 int status;
|
|
17
|
|
18 union MyUnion{
|
|
19 int i;
|
|
20
|
|
21 void test(){
|
|
22 i++;
|
|
23 }
|
|
24
|
|
25 invariant{
|
|
26 status++;
|
|
27 }
|
|
28 }
|
|
29
|
|
30 int main(){
|
|
31 MyUnion u;
|
|
32 assert(status==0);
|
|
33 u.test();
|
|
34 assert(status==1);
|
|
35 u.i=2;
|
|
36 assert(status==2);
|
|
37 assert(u);
|
|
38 assert(status==3);
|
|
39 return 0;
|
|
40 }
|