Currently all the use items have the same AstPath,
which means that privatizer tries to change all of them at once.
Which means that if *any* of them can't get privated, then
*all* of them stay unprivated, with all the consequences..
The pass used to (?) track invalidated files itself,
but now that functionality has been moved up one level,
but also kinda not really.
So here we clarify this by:
- making reaper not care about tracking invalidated files anymore
- making processor yes care about tracking invalidated files, and
ensuring that it does not call process_file again after gettin
ProcessState::FileInvalidated, as it advertizes to do.
clap formats the FromStr::Err's arising from parsing the flags
with the Display formatter. This is a very reasonable default
but it also means it loses all the context, since anyhow::Error
only prints the outermost error in Display.
So any failure parsing/creating/loading the function is displayed
to the user as simple "compiling and loading rust function", which
is impossible to debug.
Using the Debug formatting in impl FromStr for RustFunction helps
work around this.