rust/compiler/rustc_passes/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
..
liveness use div_ceil instead of manual logic 2025-07-05 10:55:42 +02:00
abi_test.rs Generalize TyCtxt::item_name. 2025-07-13 13:50:00 +00:00
check_attr.rs Auto merge of #143845 - cjgillot:stability-query, r=jieyouxu 2025-07-18 16:27:59 +00:00
check_export.rs Port #[export_stable] to the new attribute system 2025-07-07 14:33:20 +03:00
dead.rs Auto merge of #143357 - cjgillot:no-assoc-item-kind, r=compiler-errors 2025-07-13 22:39:10 +00:00
debugger_visualizer.rs Replace infallible name_or_empty methods with fallible name methods. 2025-04-17 09:50:52 +10:00
diagnostic_items.rs Implement lint against direct uses of rustc_type_ir in compiler crates 2025-06-18 16:01:41 +02:00
entry.rs use slice::contains where applicable 2025-03-28 12:21:21 +00:00
errors.rs Check for already stable features in check_attr. 2025-07-17 22:39:57 +00:00
hir_id_validator.rs Adjust Map's to_string functionality. 2025-03-12 08:30:03 +11:00
input_stats.rs Retire hir::*ItemRef. 2025-07-13 13:50:01 +00:00
lang_items.rs Specify of_trait in Target::Impl. 2025-07-17 22:21:21 +00:00
layout_test.rs Replace infallible name_or_empty methods with fallible name methods. 2025-04-17 09:50:52 +10:00
lib.rs Remove check_mod_loops query and run the checks per-body instead 2025-06-10 08:41:23 +00:00
lib_features.rs Include ErrorGuaranteed in StableSince::Err. 2025-07-17 23:27:19 +00:00
liveness.rs Port #[automatically_derived] to the new attribute parsing infrastructure 2025-07-12 17:48:50 +02:00
reachable.rs Add opaque TypeId handles for CTFE 2025-07-09 16:37:11 +00:00
stability.rs Fix formatting. 2025-07-17 23:36:26 +00:00
upvars.rs Move methods from Map to TyCtxt, part 2. 2025-02-18 10:17:44 +11:00
weak_lang_items.rs Initial support for dynamically linked crates 2025-05-04 22:03:15 +03:00