1
Fork 0
rust/tests/ui/lint/dead-code
Michael Goulet 31fe9628cf
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``
2024-07-05 20:49:31 -04:00
..
alias-in-pat.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
allow-or-expect-dead_code-114557-2.rs RFC 2383: Stabilize lint_reasons 🎉 2024-06-25 17:22:22 +02:00
allow-or-expect-dead_code-114557-2.stderr RFC 2383: Stabilize lint_reasons 🎉 2024-06-25 17:22:22 +02:00
allow-or-expect-dead_code-114557-3.rs RFC 2383: Stabilize lint_reasons 🎉 2024-06-25 17:22:22 +02:00
allow-or-expect-dead_code-114557-3.stderr RFC 2383: Stabilize lint_reasons 🎉 2024-06-25 17:22:22 +02:00
allow-or-expect-dead_code-114557.rs RFC 2383: Stabilize lint_reasons 🎉 2024-06-25 17:22:22 +02:00
allow-unconstructed-pub-struct.rs Add pub struct with allow(dead_code) into worklist 2024-06-12 17:58:20 +08:00
anon-const-in-pat.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
associated-type.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
basic.rs
basic.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
closure-bang.rs
closure-bang.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
const-and-self.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
const-and-self.stderr
empty-unused-enum.rs
empty-unused-enum.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
empty-unused-public-enum.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
enum-variants.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
impl-trait.rs
impl-trait.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
in-closure.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
in-closure.stderr
issue-41883.rs Make traits / trait methods detected by the dead code lint! 2024-02-07 10:22:16 +08:00
issue-41883.stderr Detect unused struct impls pub trait 2024-03-10 23:30:53 +08:00
issue-59003.rs Improve dead code analysis 2024-07-04 22:05:00 +08:00
issue-68408-false-positive.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
issue-85071-2.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
issue-85071-2.stderr
issue-85071.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
issue-85071.stderr
issue-85255.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
issue-85255.stderr
leading-underscore.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
lint-dead-code-1.rs Detect pub structs never constructed and unused associated constants in traits 2024-06-05 23:20:09 +08:00
lint-dead-code-1.stderr Detect pub structs never constructed and unused associated constants in traits 2024-06-05 23:20:09 +08:00
lint-dead-code-2.rs
lint-dead-code-2.stderr
lint-dead-code-3.rs
lint-dead-code-3.stderr
lint-dead-code-4.rs
lint-dead-code-4.stderr
lint-dead-code-5.rs Adjust compiler tests for unused_tuple_struct_fields -> dead_code 2024-01-02 15:34:37 -05:00
lint-dead-code-5.stderr Adjust compiler tests for unused_tuple_struct_fields -> dead_code 2024-01-02 15:34:37 -05:00
lint-dead-code-6.rs
lint-dead-code-6.stderr
lint-unused-adt-appeared-in-pattern.rs Improve dead code analysis 2024-07-04 22:05:00 +08:00
lint-unused-adt-appeared-in-pattern.stderr Improve dead code analysis 2024-07-04 22:05:00 +08:00
multiple-dead-codes-in-the-same-struct.rs Update tests 2024-02-07 10:42:01 +08:00
multiple-dead-codes-in-the-same-struct.stderr Detect unused struct impls pub trait 2024-03-10 23:30:53 +08:00
newline-span.rs
newline-span.stderr
not-lint-used-adt-appeared-in-pattern.rs Improve dead code analysis 2024-07-04 22:05:00 +08:00
offset-of-correct-param-env.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
offset-of.rs Stabilize simple offset_of 2024-01-19 20:38:51 +00:00
offset-of.stderr
pub-field-in-priv-mod.rs Replace visibility test with reachability test in dead code detection 2024-03-12 10:59:40 +01:00
pub-field-in-priv-mod.stderr Replace visibility test with reachability test in dead code detection 2024-03-12 10:59:40 +01:00
self-assign.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
self-assign.stderr
trait-impl.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
tuple-struct-field.rs Suggest removing unused tuple fields if they are the last fields 2024-05-13 17:42:44 +05:30
tuple-struct-field.stderr Suggest removing unused tuple fields if they are the last fields 2024-05-13 17:42:44 +05:30
type-alias.rs
type-alias.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
type-in-foreign.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
type-in-transparent.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
unused-adt-impl-pub-trait-with-assoc-const.rs Improve dead code analysis 2024-07-04 22:05:00 +08:00
unused-adt-impl-pub-trait-with-assoc-const.stderr Improve dead code analysis 2024-07-04 22:05:00 +08:00
unused-adt-impls-pub-trait.rs Detect unused struct impls pub trait 2024-03-10 23:30:53 +08:00
unused-adt-impls-pub-trait.stderr Detect unused struct impls pub trait 2024-03-10 23:30:53 +08:00
unused-adt-impls-trait.rs Detect unused structs which implement private traits 2024-05-23 09:07:59 +08:00
unused-adt-impls-trait.stderr Detect unused structs which implement private traits 2024-05-23 09:07:59 +08:00
unused-assoc-const.rs Detect pub structs never constructed and unused associated constants in traits 2024-06-05 23:20:09 +08:00
unused-assoc-const.stderr Detect pub structs never constructed and unused associated constants in traits 2024-06-05 23:20:09 +08:00
unused-assoc-fns.rs
unused-assoc-fns.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
unused-enum.rs
unused-enum.stderr
unused-pub-struct.rs Detect pub structs never constructed and unused associated constants in traits 2024-06-05 23:20:09 +08:00
unused-pub-struct.stderr Detect pub structs never constructed and unused associated constants in traits 2024-06-05 23:20:09 +08:00
unused-struct-derive-default.rs Improve dead code analysis 2024-07-04 22:05:00 +08:00
unused-struct-derive-default.stderr Improve dead code analysis 2024-07-04 22:05:00 +08:00
unused-struct-variant.rs
unused-struct-variant.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
unused-trait-with-assoc-ty.rs Mark assoc tys live only if the trait is live 2024-06-18 16:00:57 +08:00
unused-trait-with-assoc-ty.stderr Mark assoc tys live only if the trait is live 2024-06-18 16:00:57 +08:00
unused-variant-pub.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
unused-variant.rs Show notice about "never used" for enum 2024-06-16 18:33:51 +09:00
unused-variant.stderr Show notice about "never used" for enum 2024-06-16 18:33:51 +09:00
with-core-crate.rs
with-core-crate.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
with-impl.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00