What does transacts actually do?

I don’t know if this answers your question… after reading this (again!) I managed to muddle through a solution to my problem by using both "<decides>" and "<transacts>" specifiers on the function.

transacts: This effect indicates that any actions performed by the function can be rolled back. The transacts effect is required any time a mutable variable (var) is written. You’ll be notified when you compile your code if the transacts effect was added to a function that can’t be rolled back. Note that this check is not done for functions with the native specifier.

There’s a ton of stuff in this page and it’s often hard to take it in on the first (or fifth) read-through!

3 Likes