pub fn difference(found: &str, wanted: &str) -> (Vec<String>, Vec<String>)Expand description
How the list on disk differs from the list the solver just produced.
The two halves are what was added and what was removed, and both are wanted rather than a count: a rule leaving the list is a rule somebody managed to prove properly and is worth seeing, and a rule joining it is the thing this whole file exists to make visible. Comparing the entry lines rather than the whole text is what makes that possible, since the surrounding prose changing is a different event and gets a different sentence out of the caller.