Rollup merge of #141407 - mu001999-contrib:dead-code/refactor, r=petrochenkov
Refactor the two-phase check for impls and impl items Refactor the two-phase dead code check to make the logic clearer and simpler: 1. adding assoc fn and impl into `unsolved_items` directly during the initial construction of the worklist 2. converge the logic of checking whether assoc fn and impl are used to `item_should_be_checked`, and the item is considered used only when its corresponding trait and Self adt are used This PR only refactors as much as possible to avoid affecting the original functions. However, due to the adjustment of the order of checks, the test results are slightly different, but overall, there is no regression problem Fixes rust-lang/rust#127911 Fixes rust-lang/rust#128839 Extracted from https://github.com/rust-lang/rust/pull/128637. r? petrochenkov try-job: dist-aarch64-linux
This commit is contained in:
commit
896be667b8
9 changed files with 181 additions and 133 deletions
|
|
@ -332,16 +332,19 @@ impl Default for CommandOutput {
|
|||
|
||||
/// Helper trait to format both Command and BootstrapCommand as a short execution line,
|
||||
/// without all the other details (e.g. environment variables).
|
||||
#[cfg(feature = "tracing")]
|
||||
pub trait FormatShortCmd {
|
||||
fn format_short_cmd(&self) -> String;
|
||||
}
|
||||
|
||||
#[cfg(feature = "tracing")]
|
||||
impl FormatShortCmd for BootstrapCommand {
|
||||
fn format_short_cmd(&self) -> String {
|
||||
self.command.format_short_cmd()
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(feature = "tracing")]
|
||||
impl FormatShortCmd for Command {
|
||||
fn format_short_cmd(&self) -> String {
|
||||
let program = Path::new(self.get_program());
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue