previously we were constructing a new PostState in each call to execute, passing that back to the caller in Execution, and calling extend on our top-level PostState to merge the pre and post-execution post states. however, the extend method did not behave according to expectations, and it would end up clearing information about the original post state.
this change alters the execute function to take a &mut PostState as an argument.
previously we were constructing a new
PostState
in each call toexecute
, passing that back to the caller inExecution
, and callingextend
on our top-levelPostState
to merge the pre and post-execution post states. however, theextend
method did not behave according to expectations, and it would end up clearing information about the original post state.this change alters the
execute
function to take a&mut PostState
as an argument.