1protocol race_ViolateSameDirection {
2child:
3    async Msg1();
4    async Msg1_();
5    async __delete__();
6    async suppressUndeleteableError();
7parent:
8    async Msg2();
9    async Msg2_();
10
11    // *** ERROR: state S7 doesn't have all-same-direction
12start state _:
13    send __delete__;
14    send suppressUndeleteableError goto S6;
15
16state S6:
17    send Msg1 goto S7;
18    recv Msg2 goto S8;
19
20state S7:
21    recv Msg2 goto S9;
22    send Msg1 goto S9;
23
24state S8:
25    send Msg1 goto S9;
26
27state S9:
28    send Msg1 goto S9;
29    recv Msg2 goto S9;
30};
31