次に投稿する質問:
やあ、
次のテストケースがあります。
<’
struct item_s {
payload:list of byte;
kind:[SMALL,BIG];
when SMALL item_s {
keep payload.size() < 10;
};
};
extend sys {
!item:item_s;
run() is also {
for i from 1 to 10 {
gen item keeping {
.payload.size() == 100;
};
};
};
};
‘>
このテストでは BIG アイテムのみが生成されると予想していました。代わりに、ときどき小さな項目が生成され、矛盾につながることがわかります。この動作の説明は何ですか?