rust/compiler/rustc_middle/src
bors 8f08b3a324 Auto merge of #143845 - cjgillot:stability-query, r=jieyouxu
Split-up stability_index query

This PR aims to move deprecation and stability processing away from the monolithic `stability_index` query, and directly implement `lookup_{deprecation,stability,body_stability,const_stability}` queries.

The basic idea is to:
- move per-attribute sanity checks into `check_attr.rs`;
- move attribute compatibility checks into the `MissingStabilityAnnotations` visitor;
- progressively dismantle the `Annotator` visitor and the `stability_index` query.

The first commit contains functional change, and now warns when `#[automatically_derived]` is applied on a non-trait impl block. The other commits should not change visible behaviour.

Perf in https://github.com/rust-lang/rust/pull/143845#issuecomment-3066308630 shows small but consistent improvement, except for unused-warnings case. That case being a stress test, I'm leaning towards accepting the regression.

This PR changes `check_attr`, so has a high conflict rate on that file. This should not cause issues for review.
2025-07-18 16:27:59 +00:00
..
dep_graph Reuse metadata file from work products. 2025-07-04 14:02:17 +00:00
hir parse const trait Trait 2025-07-17 18:06:26 +08:00
hooks Move naked fn checks to hir_typeck 2025-05-30 16:08:44 +00:00
infer Add alias for ArgOutlivesPredicate 2025-07-15 16:02:26 +00:00
middle Auto merge of #143845 - cjgillot:stability-query, r=jieyouxu 2025-07-18 16:27:59 +00:00
mir Rollup merge of #143293 - folkertdev:naked-function-kcfi, r=compiler-errors 2025-07-18 04:27:51 +02:00
query Auto merge of #143845 - cjgillot:stability-query, r=jieyouxu 2025-07-18 16:27:59 +00:00
thir loop match: run exhaustiveness check 2025-07-01 15:53:50 +02:00
traits Auto merge of #142911 - mejrs:unsized, r=compiler-errors 2025-07-11 05:27:32 +00:00
ty Auto merge of #143845 - cjgillot:stability-query, r=jieyouxu 2025-07-18 16:27:59 +00:00
util Remove attribute #[rustc_error] 2025-03-30 01:32:21 +03:00
arena.rs Define datastructures for #[cfg] attribute, move StrippedCfgItem 2025-07-15 09:01:00 +02:00
error.rs const-eval: allow constants to refer to mutable/external memory, but reject such constants as patterns 2025-06-26 18:09:47 +02:00
lib.rs Update cfg(bootstrap) 2025-07-01 10:55:49 -07:00
lint.rs decouple "reporting in deps" from future incompatibility reason 2025-06-03 10:49:22 +02:00
macros.rs Fold visit into ty 2025-03-15 06:34:36 +00:00
metadata.rs Re-export more rustc_span::symbol things from rustc_span. 2024-12-18 13:38:53 +11:00
tests.rs Give an item related to issue 27438 a more meaningful name 2024-04-30 22:27:19 +02:00
thir.rs loop match: run exhaustiveness check 2025-07-01 15:53:50 +02:00
values.rs Use search_for_cycle_permutation to look for variances_of 2025-04-27 09:38:18 +02:00