about summary refs log tree commit diff stats
path: root/056static_dispatch.cc
diff options
context:
space:
mode:
authorKartik K. Agaram <vc@akkartik.com>2016-03-19 11:57:47 -0700
committerKartik K. Agaram <vc@akkartik.com>2016-03-19 11:57:47 -0700
commit1f69d061c17d83b0a665c4fee2407fac1b714b68 (patch)
tree940e2c878a902fa1b1b49e6f799d3c638d5cc869 /056static_dispatch.cc
parentd97bafd318567c0f4ae7c80234ecde6cf7658b1c (diff)
downloadmu-1f69d061c17d83b0a665c4fee2407fac1b714b68.tar.gz
2797 - bugfix: transform can create recipes
When I started to make channels generic in 2784, I introduced an
infinite loop when running until just layer 72. This happens because
transform_all() can create new recipes while specializing, and these
were getting added to Recently_added_recipes and then deleted. I didn't
notice until now because layer 91 was clearing Recently_added_recipes
soon after.

Solution: make calls to transform_all after calls to load_permanently
also clear Recently_added_recipes like load_permanently does.

No transforms yet create new types. If they do we'll need to start
handling the other Recently_added_* variables as well.

I should rethink this whole approach of tracking changes to global state
while running tests, and undoing such changes. Ideally I wouldn't need
to manually track changes for each global. I should just encapsulate all
global state in an object, copy it for each test and delete the copy
when I'm done.
Diffstat (limited to '056static_dispatch.cc')
0 files changed, 0 insertions, 0 deletions