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