pub fn make_way(s: &mut Session, b: &Begun) -> Result<(Machine, bool)>Expand description
The footprint check and the output rule, inside the run’s undo group: an error when the macro would fail or write over data it may not, after shifting the data if the rule says so. Returns the machine for the run and whether it shifted. The dry runs count towards the run’s time limit.
The footprint proves nothing about steps it didn’t reach (it stopped early) or a path the run takes and the dry run didn’t (RAND, NOW), so the machine also checks each step as it runs and stops the run at one that writes over data.