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
..
2025-06-02 16:30:21 +08:00
2025-06-16 23:04:33 +00:00
2024-12-17 19:57:42 +08:00
2024-11-27 07:18:25 -08:00
2025-05-03 17:22:52 +02:00
2025-07-17 22:21:21 +00:00
2025-04-04 12:37:38 +00:00
2025-05-12 16:35:09 +02:00
2025-04-17 06:25:15 +02:00
2024-03-03 10:48:40 +08:00
2025-06-18 12:37:08 +02:00
2024-08-16 09:07:55 +10:00
2025-06-08 11:25:09 +05:00
2025-06-08 11:25:09 +05:00
2025-04-03 11:08:55 +03:00
2025-04-03 11:08:55 +03:00
2024-11-26 02:50:48 +08:00
2024-11-26 02:50:48 +08:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2024-11-26 02:50:48 +08:00
2024-12-17 19:22:21 +08:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2025-07-11 17:02:57 +02:00
2025-07-11 17:02:57 +02:00
2025-04-17 09:50:52 +10:00
2025-04-17 09:50:52 +10:00
2024-08-06 06:12:10 +00:00
2025-01-24 01:19:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2025-03-11 12:05:02 +00:00
2025-03-11 12:05:02 +00:00
2023-10-23 13:04:47 -07:00
2023-10-23 13:04:47 -07:00
2025-06-08 01:14:05 +05:00
2025-03-25 16:14:27 +11:00
2025-03-25 16:14:27 +11:00
2025-02-15 16:47:30 +01:00
2025-02-15 16:47:30 +01:00
2025-06-08 11:25:09 +05:00
2025-06-08 11:25:09 +05:00
2025-02-15 03:41:07 +01:00
2025-02-15 03:41:07 +01:00
2025-02-15 03:41:07 +01:00
2025-02-15 03:41:07 +01:00
2025-02-15 03:41:07 +01:00
2025-02-15 03:41:07 +01:00
2025-06-26 15:20:42 -07:00
2025-06-26 15:20:42 -07:00
2025-02-25 18:17:32 +01:00
2025-02-25 18:17:32 +01:00
2025-02-25 18:17:32 +01:00
2025-02-25 18:17:32 +01:00
2025-06-08 11:25:09 +05:00
2025-06-08 11:25:09 +05:00
2025-02-28 09:43:46 +01:00
2024-02-29 14:43:43 +01:00
2024-02-29 14:43:43 +01:00
2024-02-29 14:43:43 +01:00
2024-02-29 14:43:43 +01:00
2025-04-02 06:21:18 +11:00
2024-12-27 19:58:16 +11:00
2024-12-12 23:36:27 +00:00
2024-12-27 19:58:16 +11:00
2025-06-16 23:04:36 +00:00
2024-02-16 20:02:50 +00:00
2023-01-11 09:32:08 +00:00
2025-06-20 15:06:29 +02:00
2025-06-20 15:06:29 +02:00
2024-12-27 19:58:16 +11:00
2025-03-14 19:50:03 +00:00
2023-01-11 09:32:08 +00:00
2025-01-24 01:19:50 +00:00
2025-07-06 18:10:52 -04:00
2025-06-02 16:30:21 +08:00
2025-06-02 16:30:21 +08:00
2025-06-28 16:24:17 +05:00
2025-06-28 16:24:17 +05:00
2025-06-28 16:24:17 +05:00
2025-04-02 06:21:18 +11:00
2025-06-29 15:37:33 +05:00
2025-04-17 09:50:52 +10:00
2025-04-17 09:50:52 +10:00
2025-06-18 12:37:08 +02:00
2025-06-18 12:37:08 +02:00
2025-04-05 06:09:14 +09:00
2025-04-05 06:09:14 +09:00
2024-02-16 20:02:50 +00:00
2025-04-08 23:06:31 +03:00
2024-07-12 03:02:57 +00:00
2023-01-11 09:32:08 +00:00
2025-02-24 14:31:19 +01:00
2024-09-21 13:05:21 +02:00
2024-09-21 13:05:21 +02:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-04-17 09:18:14 -04:00
2023-12-12 15:54:25 +11:00
2023-12-12 15:54:25 +11:00
2024-06-24 17:12:08 +03:00
2025-02-19 18:29:00 +00:00
2025-02-20 17:55:31 +00:00
2025-01-07 16:04:14 +01:00
2023-12-12 15:54:25 +11:00
2023-01-11 09:32:08 +00:00
2025-02-10 20:21:39 +00:00
2024-08-17 15:03:20 +09:00
2024-08-17 15:03:20 +09:00
2025-06-23 12:20:02 +02:00
2025-06-23 12:20:02 +02:00
2024-02-16 20:02:50 +00:00
2023-08-07 21:14:28 +02:00
2023-11-24 19:15:52 +01:00
2023-01-11 09:32:08 +00:00
2023-11-24 19:15:52 +01:00
2025-07-15 09:21:27 +02:00
2025-07-16 15:51:18 +02:00
2025-07-06 16:56:42 -04:00
2025-07-06 16:56:42 -04:00
2025-06-22 14:51:58 +02:00
2025-06-22 14:51:58 +02:00
2025-07-06 22:07:09 +02:00
2025-07-06 22:07:09 +02:00
2024-08-18 20:32:00 +03:00
2024-08-18 20:32:00 +03:00
2024-11-26 02:50:48 +08:00
2025-06-26 08:50:42 +02:00
2025-06-26 08:50:42 +02:00
2025-06-26 08:50:42 +02:00
2025-06-26 08:50:42 +02:00
2025-06-26 08:50:42 +02:00
2025-06-26 08:50:42 +02:00
2023-01-11 09:32:08 +00:00
2025-06-17 23:19:31 +02:00
2023-03-28 18:05:12 +00:00
2023-11-24 19:15:52 +01:00
2025-04-17 09:50:52 +10:00
2025-04-17 09:50:52 +10:00
2025-04-02 06:20:35 +11:00
2025-04-02 06:20:35 +11:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2024-10-20 08:34:15 -06:00
2024-10-20 08:34:15 -06:00
2025-03-15 10:52:07 -06:00
2025-07-05 01:54:04 +05:00
2025-02-24 14:31:19 +01:00
2025-02-24 14:31:19 +01:00
2024-10-02 23:19:26 -05:00
2025-02-14 00:44:10 -08:00
2025-06-17 23:19:31 +02:00
2025-06-17 23:22:51 +02:00
2024-08-24 23:05:37 +03:00
2024-08-24 23:05:37 +03:00
2025-06-23 22:48:20 +03:00
2025-06-23 22:48:20 +03:00
2023-10-24 08:21:52 +00:00
2023-10-24 08:21:52 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2024-02-16 20:02:50 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2023-12-12 15:54:25 +11:00
2023-12-12 15:54:25 +11:00
2025-05-21 00:47:36 +08:00
2025-05-21 00:47:36 +08:00
2025-06-02 16:30:21 +08:00
2025-02-24 04:04:59 +01:00
2025-02-24 04:04:59 +01:00
2024-02-16 20:02:50 +00:00
2025-06-27 08:58:26 +02:00
2025-06-27 08:58:26 +02:00
2025-06-27 08:58:26 +02:00
2025-06-27 08:58:26 +02:00
2024-02-24 08:14:38 -05:00
2024-02-24 08:14:38 -05:00
2024-11-26 02:50:48 +08:00