Closed
Description
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.