Matthias Krüger
896be667b8
Rollup merge of #141407 - mu001999-contrib:dead-code/refactor, r=petrochenkov
...
Refactor the two-phase check for impls and impl items
Refactor the two-phase dead code check to make the logic clearer and simpler:
1. adding assoc fn and impl into `unsolved_items` directly during the initial construction of the worklist
2. converge the logic of checking whether assoc fn and impl are used to `item_should_be_checked`, and the item is considered used only when its corresponding trait and Self adt are used
This PR only refactors as much as possible to avoid affecting the original functions. However, due to the adjustment of the order of checks, the test results are slightly different, but overall, there is no regression problem
Fixes rust-lang/rust#127911
Fixes rust-lang/rust#128839
Extracted from https://github.com/rust-lang/rust/pull/128637 .
r? petrochenkov
try-job: dist-aarch64-linux
2025-05-30 07:01:29 +02:00
..
2024-11-27 07:18:25 -08:00
2025-01-22 00:00:31 -05:00
2025-05-29 20:51:51 +08:00
2024-03-17 14:41:37 +00:00
2025-02-10 20:21:39 +00:00
2025-05-08 21:17:33 +08:00
2025-04-03 11:08:55 +03:00
2024-09-27 14:29:34 -07:00
2024-10-28 16:57:08 +11: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
2024-11-27 07:18:25 -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
2024-03-14 09:54:42 +08:00
2024-11-27 07:18:25 -08:00
2025-05-29 10:24:23 +00:00
2024-07-31 00:07:42 -04:00
2025-02-10 20:21:39 +00:00
2024-05-21 20:16:39 +00:00
2025-04-03 11:08:55 +03:00
2025-05-06 17:04:03 +02:00
2025-02-23 11:29:35 +08:00
2024-09-27 16:37:43 +08:00
2024-09-27 16:37:43 +08:00
2024-09-13 11:51:17 +02: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
2024-08-31 14:00:54 +00:00
2024-08-08 13:09:58 +00:00
2025-04-03 11:08:55 +03:00
2024-12-23 20:25:41 +00:00
2024-10-18 18:18:41 +02:00
2024-10-18 18:18:41 +02:00
2024-10-18 18:18:41 +02:00
2024-10-18 18:18:41 +02:00
2024-05-24 19:31:57 +08:00
2024-05-24 19:31:57 +08:00
2024-05-24 19:31:57 +08:00
2024-05-24 19:31:57 +08:00
2024-05-24 19:31:57 +08:00
2024-08-22 13:32:01 +02:00
2024-08-22 13:32:01 +02:00
2024-08-22 13:32:01 +02:00
2024-05-29 17:40:34 +08:00
2024-05-29 16:53:28 +08:00
2024-05-29 16:53:28 +08:00
2024-05-29 16:53:28 +08:00
2024-05-29 16:53:28 +08:00
2024-06-25 17:22:22 +02:00
2025-04-17 19:45:28 +08:00
2025-05-07 00:29:20 +00:00
2024-12-13 19:16:15 +01:00
2024-06-25 22:32:46 +02:00
2024-06-25 22:32:46 +02:00
2024-09-06 20:51:06 +00:00
2024-12-09 17:31:16 +08:00
2024-12-09 17:31:16 +08:00
2024-12-15 23:46:42 +01:00
2024-12-20 23:48:46 +01:00
2024-12-20 23:48:46 +01:00
2024-12-02 18:43:37 +01:00
2024-12-02 18:43:37 +01:00
2024-12-02 18:43:37 +01:00
2024-12-02 18:43:37 +01:00
2025-02-10 20:21:39 +00:00
2024-05-15 13:17:11 -05:00
2025-02-10 20:21:39 +00:00
2024-11-27 21:48:23 +01:00
2024-11-27 21:48:23 +01:00
2024-11-27 21:48:23 +01:00
2024-11-27 21:48:23 +01:00
2024-11-27 21:48:23 +01:00
2024-11-27 21:48:23 +01:00
2024-11-27 21:48:23 +01:00
2024-11-27 21:48:23 +01:00
2024-11-27 21:48:23 +01:00
2024-11-27 15:27:41 +01:00
2024-11-27 15:27:41 +01:00
2024-10-18 18:18:41 +02:00
2024-10-18 18:18:41 +02:00
2024-10-18 18:18:41 +02:00
2024-05-29 16:53:37 +08:00
2024-05-29 16:53:37 +08:00
2024-05-29 16:53:37 +08:00
2024-05-29 17:40:34 +08:00
2024-05-29 17:40:34 +08:00
2024-05-29 17:40:34 +08:00
2024-05-29 17:40:34 +08:00
2024-05-29 17:40:34 +08:00
2024-05-29 17:40:34 +08:00
2025-01-07 16:04:14 +01:00
2024-05-20 19:55:59 -07:00
2024-02-25 17:51:56 +05:30
2024-02-25 17:51:56 +05:30
2024-04-29 08:16:26 +05:30
2024-04-29 08:16:26 +05:30
2024-02-26 15:22:22 +05:30
2025-05-14 18:58:38 +02:00
2025-05-14 18:58:38 +02:00
2025-05-14 23:53:40 +02:00
2024-12-09 17:39:08 +08:00
2024-12-09 17:39:08 +08: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
2024-04-22 18:48:47 +02:00
2025-01-09 23:47:11 -08:00
2024-10-31 21:26:36 -05:00
2024-10-31 21:26:36 -05:00
2024-10-31 21:26:36 -05:00
2024-10-31 21:26:36 -05:00
2024-10-31 21:26:36 -05:00
2024-11-26 02:50:48 +08:00
2024-11-26 02:50:48 +08:00
2024-11-26 02:50:48 +08:00
2024-11-26 02:50:48 +08:00
2024-08-19 21:39:57 +02:00
2025-02-10 20:21:39 +00:00
2024-10-18 18:18:41 +02:00
2024-11-27 15:27:41 +01:00
2025-03-11 12:05:02 +00:00
2025-03-11 12:05:02 +00:00
2024-11-16 20:03:31 +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-02-10 20:21:39 +00:00
2025-04-17 19:45:28 +08:00
2025-04-08 23:06:31 +03:00
2024-08-16 14:10:06 -04: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
2024-12-09 17:31:16 +08:00
2024-12-09 17:31:16 +08:00
2024-12-09 17:31:16 +08:00
2025-05-28 15:14:34 +01:00
2025-05-28 15:14:34 +01:00
2024-12-09 17:31:16 +08:00
2024-12-09 17:31:16 +08:00
2024-09-23 12:55:56 -04:00
2025-01-07 16:04:14 +01:00
2025-01-07 16:04:14 +01:00
2024-10-06 22:36:51 -04:00
2024-10-06 22:36:51 -04:00
2025-01-26 12:18:33 +01:00
2025-01-26 12:18:33 +01:00
2024-06-21 19:00:18 -04: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
2024-09-09 14:51:39 +02:00
2024-09-09 14:51:39 +02:00
2024-10-23 18:05:27 +00:00
2024-09-11 12:14:35 +02:00
2024-08-16 14:10:06 -04:00
2024-11-26 02:50:48 +08:00
2024-11-03 13:55:52 -08: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-04-03 11:08:55 +03:00
2024-04-22 11:51:50 -04:00
2024-03-20 16:30:26 +00:00
2024-03-20 16:30:26 +00:00
2024-03-15 14:59:05 +00: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
2024-11-03 13:55:52 -08:00
2024-11-03 13:55:52 -08:00
2024-11-03 13:55:52 -08:00
2024-11-03 13:55:52 -08:00
2024-11-03 13:55:52 -08:00
2024-10-21 15:22:17 +01:00
2025-02-10 20:21:39 +00:00
2024-10-21 15:22:17 +01: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
2024-07-07 17:11:05 +02:00
2024-07-07 17:11:05 +02:00
2025-03-25 17:33:09 +03:00
2024-08-31 14:00:54 +00:00
2025-04-13 21:48:53 +03:00
2024-08-31 14:00:54 +00:00
2025-04-13 21:48:53 +03:00
2024-08-31 14:00:54 +00:00
2024-08-18 19:46:53 +02:00
2024-08-18 19:46:53 +02:00
2024-08-18 19:46:53 +02:00
2025-04-08 23:06:31 +03:00
2024-12-12 23:36:27 +00:00
2024-09-14 16:12:00 +05:30
2024-05-22 12:46:08 -04:00
2024-07-31 19:36:47 +02:00
2024-07-31 19:36:47 +02: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
2024-11-27 15:27:41 +01:00
2024-06-27 08:55:28 +10:00
2024-06-27 08:55:28 +10:00
2024-06-25 17:22:22 +02:00
2024-06-25 17:22:22 +02:00
2024-06-25 17:22:22 +02:00
2024-06-25 17:22:22 +02:00
2025-02-10 20:21:39 +00:00
2024-05-10 12:33:07 -04:00
2024-12-01 11:31:09 +13:00
2024-09-21 08:59:52 -07: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
2024-03-01 13:48:20 +00:00
2024-06-23 22:00:52 +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-08-08 11:58:11 -04:00
2024-08-08 11:58:11 -04:00
2024-08-08 11:58:11 -04:00
2024-12-24 11:35:38 +08:00
2024-10-05 00:19:26 +00:00
2024-10-21 21:33:33 +08:00
2024-10-21 21:33:33 +08:00
2024-05-20 19:55:59 -07:00
2024-05-20 11:13:10 -04:00
2025-05-29 10:24:23 +00:00
2025-04-10 09:56:37 +02:00
2024-09-23 11:57:28 +02:00
2024-11-04 19:09:40 +01:00
2024-11-04 19:09:40 +01:00
2024-11-04 19:09:40 +01:00
2024-04-07 01:16:45 +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
2024-11-27 07:18:25 -08:00
2024-03-15 14:59:05 +00:00
2024-09-30 20:43:51 +03:00
2024-11-26 02:50:48 +08:00
2025-04-22 15:11:23 -07:00
2025-04-22 15:11:23 -07:00
2024-03-29 22:02:07 +01:00
2025-05-25 17:08:58 +02:00