kframework/k-legacy

Set does not work correctly with non-primitive elements

denis-bogdanas opened this issue · 0 comments

Have a set with this composition:

<forvar> SetItem ( %var ( i ) ) SetItem ( %var ( j ) ) </forvar>

The following rule won't match:

rule <k> #clearIter(ITER:Id) => .) ... </k>
     <forvar> (SetItem(%var(ITER)) => .Set) FORVARS </forvar>

If we change the set and rule accordingly to store plain Id elements, it will match. Problem happens when <forvar> contains 2+ elements.