Rollup merge of #127107 - mu001999-contrib:dead/enhance-2, r=pnkfelix

Improve dead code analysis

Fixes #120770

1. check impl items later if self ty is private although the trait method is public, cause we must use the ty firstly if it's private
2. mark the adt live if it appears in pattern, like generic argument, this implies the use of the adt
3. based on the above, we can handle the case that private adts impl Default, so that we don't need adding rustc_trivial_field_reads on Default, and the logic in should_ignore_item

r? ``@pnkfelix``
This commit is contained in:
Michael Goulet 2024-07-05 20:49:31 -04:00 committed by GitHub
commit 68ea9f82cb
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -241,11 +241,3 @@ impl Parse for QueryGroup {
Ok(QueryGroup { group_path })
}
}
struct Nothing;
impl Parse for Nothing {
fn parse(_input: ParseStream<'_>) -> syn::Result<Self> {
Ok(Nothing)
}
}