For command wrappers like Rustc, they often have intermediate helper methods and actual "terminal" functions that executes the built command (e.g. run, run_fail, run_fail_assert_exit_code). Currently, it is easy to forget to call "terminal" functions.
For example,
rustc().input("foo.rs").arg("-Cprefer-dynamic");
does not actually execute and can unexpectedly silently pass. We should annotate intermediate helper methods with #[must_use] to ensure the built command is consumed, i.e. by executing the command.
For command wrappers like
Rustc, they often have intermediate helper methods and actual "terminal" functions that executes the built command (e.g.run,run_fail,run_fail_assert_exit_code). Currently, it is easy to forget to call "terminal" functions.For example,
does not actually execute and can unexpectedly silently pass. We should annotate intermediate helper methods with
#[must_use]to ensure the built command is consumed, i.e. by executing the command.