Chuanqi Xu
2db239acd1
[C++20] [Modules] Improve the import-and-include pattern
...
The import and include problem is a long-standing issue with the use of
C++20 modules. This patch tried to improve this by skipping parsing
class and functions if their declaration is already defined in modules.
The scale of the patch itself is small as the patch reuses previous
optimization. Maybe we can skip parsing other declarations in the
future. But the patch itself should be good.
2025-08-20 11:47:00 +08:00
..
2025-05-28 06:41:01 -04:00
2024-02-01 13:37:37 +00:00
2023-02-16 14:05:16 +08:00
2023-02-16 17:58:34 -08:00
2023-08-28 09:54:39 -07:00
2024-01-09 13:40:21 -05:00
2022-12-12 11:25:19 -08:00
2025-08-14 14:23:14 +08:00
2025-08-14 14:23:14 +08:00
2025-05-07 14:47:24 +08:00
2024-03-20 13:36:56 +09:00
2022-12-15 22:46:41 -08:00
2025-05-28 06:41:01 -04:00
2024-04-05 10:13:42 -07:00
2024-08-02 19:15:47 -03:00
2022-12-12 11:25:19 -08:00
2025-06-03 17:59:42 -07:00
2022-12-12 11:25:19 -08:00
2025-03-03 13:28:10 -08:00
2023-03-10 15:17:28 +01:00
2023-11-16 08:41:20 -08:00
2024-03-27 11:41:34 +00:00
2024-08-29 14:54:40 -07:00
2023-02-22 11:01:40 -08:00
2023-07-05 18:04:50 -07:00
2024-11-27 17:09:41 +02:00
2024-02-23 11:05:15 +08:00
2023-10-04 15:43:17 -07:00
2025-03-28 11:34:24 +01:00
2023-12-14 14:03:57 -08:00
2024-03-08 10:12:51 +08:00
2024-03-08 10:12:51 +08:00
2024-03-05 10:15:21 -08:00
2025-06-11 10:35:06 +01:00
2023-09-28 11:30:09 -07:00
2024-08-06 10:06:48 -07:00
2023-12-14 14:03:57 -08:00
2023-12-14 14:03:57 -08:00
2023-12-14 14:03:57 -08:00
2023-12-14 14:03:57 -08:00
2023-12-14 14:03:57 -08:00
2023-12-14 14:03:57 -08:00
2023-06-15 11:22:31 +02:00
2023-08-28 12:13:42 -04:00
2024-05-07 15:23:50 -04:00
2024-03-08 10:12:51 +08:00
2024-03-08 10:12:51 +08:00
2025-01-17 13:41:44 +08:00
2025-07-16 19:22:54 +02:00
2024-03-08 10:12:51 +08:00
2024-03-08 10:12:51 +08:00
2023-06-24 09:01:59 +01:00
2024-09-14 14:45:50 +08:00
2024-03-08 10:12:51 +08:00
2024-05-05 10:46:06 -07:00
2024-05-30 03:43:27 -03:00
2025-07-16 19:22:54 +02:00
2025-06-03 17:59:42 -07:00
2023-09-08 16:38:08 -07:00
2023-09-08 16:38:08 -07:00
2023-09-08 16:38:08 -07:00
2023-02-08 16:45:00 +08:00
2025-07-16 19:22:54 +02:00
2024-03-08 10:12:51 +08:00
2024-05-05 10:46:06 -07:00
2024-10-24 08:20:43 +01:00
2024-03-08 10:12:51 +08:00
2024-01-12 13:47:59 +08:00
2024-01-29 14:35:23 +08:00
2023-02-08 16:45:00 +08:00
2023-05-06 11:17:15 +08:00
2024-01-12 13:47:59 +08:00
2023-07-06 10:35:26 -04:00
2025-01-28 15:51:17 -03:00
2022-12-12 11:25:19 -08:00
2022-12-12 11:25:19 -08:00
2024-05-04 23:08:11 -07:00
2022-12-12 11:25:19 -08:00
2022-12-02 09:44:15 -08:00
2022-12-12 11:25:19 -08:00
2024-06-21 17:50:30 +08:00
2023-01-31 09:57:23 -05:00
2023-01-31 09:57:23 -05:00
2023-01-31 09:57:23 -05:00
2023-12-14 14:03:57 -08:00
2023-01-31 09:57:23 -05:00
2024-03-08 10:12:51 +08:00
2025-01-17 13:41:44 +08:00
2024-03-08 10:12:51 +08:00
2023-12-14 14:03:57 -08:00
2023-01-13 18:38:11 -08:00
2023-12-14 14:03:57 -08:00
2023-08-28 12:13:42 -04:00
2024-03-08 10:12:51 +08:00
2023-12-14 14:03:57 -08:00
2023-08-28 09:54:39 -07:00
2023-06-29 13:17:24 -07:00
2023-12-14 14:03:57 -08:00
2023-12-14 14:03:57 -08:00
2025-03-19 10:51:45 +01:00
2025-06-13 06:45:40 -04:00
2023-11-02 15:07:58 -07:00
2025-02-26 14:32:50 -08:00
2023-12-14 14:03:57 -08:00
2023-12-14 14:03:57 -08:00
2024-10-31 15:52:18 +08:00
2022-12-12 11:25:19 -08:00
2024-03-08 10:12:51 +08:00
2025-03-19 11:43:40 +01:00
2024-10-08 07:42:29 +01:00
2025-04-29 11:22:34 +08:00
2025-01-23 10:22:07 +00:00
2024-03-08 10:12:51 +08:00
2024-08-15 13:57:38 +02:00
2022-12-15 22:46:41 -08:00
2024-11-27 11:35:49 +08:00
2025-06-03 17:59:42 -07:00
2024-01-08 14:46:11 +08:00
2024-03-08 10:12:51 +08:00
2025-02-26 14:32:50 -08:00
2023-02-16 17:02:04 +08:00
2025-07-16 19:22:54 +02:00
2024-03-08 10:12:51 +08:00
2024-07-12 13:55:56 +08:00
2024-12-31 09:53:29 +08:00
2024-12-31 09:53:29 +08:00
2024-12-31 09:53:29 +08:00
2024-12-31 09:53:29 +08:00
2024-12-31 09:53:29 +08:00
2025-07-28 09:58:38 +08:00
2025-07-28 09:58:38 +08:00
2025-08-04 16:07:02 +03:00
2024-12-17 16:40:10 +00:00
2023-12-14 14:03:57 -08:00
2025-03-13 14:20:30 +08:00
2025-06-03 17:59:42 -07:00
2023-05-30 21:42:01 -07:00
2025-04-08 11:02:57 +08:00
2025-05-19 12:11:11 -07:00
2024-04-30 16:33:34 +08:00
2024-06-28 16:12:50 +08:00
2024-10-16 10:38:53 +02:00
2024-12-16 12:22:43 +00:00
2023-12-14 14:03:57 -08:00
2024-03-08 10:12:51 +08:00
2024-05-07 11:41:08 +08:00
2024-05-04 17:00:29 -07:00
2024-10-08 13:34:00 +02:00
2024-08-04 19:00:54 -03:00
2024-08-04 19:00:54 -03:00
2024-01-16 11:32:10 +08:00
2024-09-24 22:57:07 -03:00
2024-09-24 22:57:07 -03:00
2025-08-19 14:32:08 -03:00
2025-01-22 16:24:56 -08:00
2023-05-04 19:19:52 +02:00
2025-01-17 09:35:02 +00:00
2023-04-10 09:51:02 -04:00
2023-04-10 09:51:02 -04:00
2023-11-06 17:31:27 -08:00
2024-04-16 15:41:26 +08:00
2024-03-11 11:39:21 +08:00
2023-11-02 15:07:58 -07:00
2023-02-22 11:01:40 -08:00
2024-04-10 09:08:01 -07:00
2025-06-03 17:59:42 -07:00
2023-01-20 13:37:36 -08:00
2024-06-14 09:57:21 -07:00
2025-08-03 16:07:36 +00:00
2024-05-11 23:14:56 +01:00
2024-05-22 07:47:10 +01:00
2024-01-12 13:47:59 +08:00
2023-04-04 08:12:10 -07:00
2023-08-28 12:13:42 -04:00
2023-02-16 14:05:16 +08:00
2024-04-05 10:13:42 -07:00
2024-04-05 10:13:42 -07:00
2025-06-23 14:39:08 +08:00
2024-04-12 12:51:58 +08:00
2024-03-08 10:12:51 +08:00
2024-03-08 10:12:51 +08:00
2024-03-08 10:12:51 +08:00
2024-12-12 09:38:47 +08:00
2023-03-10 15:17:28 +01:00
2024-08-01 14:45:21 +08:00
2024-03-08 10:12:51 +08:00
2023-01-20 10:18:18 -06:00
2025-04-29 08:38:33 -07:00
2023-12-14 14:03:57 -08:00
2024-09-29 10:38:05 +08:00
2025-03-13 15:04:06 +08:00
2025-03-13 15:04:06 +08:00
2023-03-30 14:22:40 -07:00
2022-12-08 11:37:00 -08:00
2024-03-08 10:12:51 +08:00
2024-05-04 17:00:29 -07:00
2025-05-06 16:40:01 -07:00
2023-02-21 10:16:05 -05:00
2023-12-14 14:03:57 -08:00
2025-06-03 17:59:42 -07:00
2024-07-31 10:38:32 -07:00
2025-02-21 10:04:42 -08:00
2023-07-21 15:49:47 -07:00
2023-12-14 14:03:57 -08:00
2023-12-14 14:03:57 -08:00
2025-04-16 10:14:05 -07:00
2025-03-10 10:32:08 +01:00
2023-05-09 10:31:43 -07:00
2022-12-12 11:25:19 -08:00
2024-03-08 10:12:51 +08:00
2023-12-14 14:03:57 -08:00
2024-03-08 10:12:51 +08:00
2022-12-12 11:25:19 -08:00
2023-04-05 15:46:13 -07:00
2024-03-08 10:12:51 +08:00
2022-12-12 11:25:19 -08:00
2022-12-12 11:25:19 -08:00
2024-05-07 15:23:50 -04:00
2022-12-12 11:25:19 -08:00
2022-12-12 11:25:19 -08:00
2022-12-12 11:25:19 -08:00
2022-12-15 15:32:46 +08:00
2024-03-08 10:12:51 +08:00
2025-06-03 17:59:42 -07:00
2023-08-02 08:16:46 +02:00
2024-08-20 11:44:30 +02:00
2024-03-08 10:12:51 +08:00
2023-01-20 10:18:18 -06:00
2025-07-21 18:57:38 +08:00
2025-06-03 17:59:42 -07:00
2025-03-10 10:32:08 +01:00
2025-05-22 18:34:30 -07:00
2025-03-25 13:24:21 +08:00
2023-12-14 14:03:57 -08:00
2023-12-14 14:03:57 -08:00
2023-09-29 11:30:33 -07:00
2023-09-08 16:56:01 -07:00
2024-11-27 11:35:49 +08:00
2023-12-14 14:03:57 -08:00
2025-06-02 15:59:16 -07:00
2025-05-27 17:43:59 -04:00
2025-06-03 17:59:42 -07:00
2024-05-04 23:08:11 -07:00
2025-06-12 11:48:09 +08:00
2025-06-12 10:48:34 +08:00
2025-01-24 10:51:10 +08:00
2025-01-22 13:39:58 +08:00
2025-01-17 22:17:50 +08:00
2025-01-17 13:41:44 +08:00
2025-06-03 17:59:42 -07:00
2023-12-14 14:03:57 -08:00
2024-05-07 13:55:44 -07:00
2023-09-12 08:31:27 -07:00
2024-12-17 16:40:10 +00:00
2022-12-12 11:25:19 -08:00
2024-07-23 13:59:44 -07:00
2023-10-20 09:23:19 -07:00
2023-12-14 14:03:57 -08:00
2023-06-16 09:26:45 +02:00
2022-12-12 11:25:19 -08:00
2025-08-09 05:06:53 -03:00
2024-05-04 23:08:11 -07:00
2025-07-03 19:03:52 +08:00
2024-04-05 10:13:42 -07:00
2024-04-12 12:51:58 +08:00
2025-06-21 18:58:56 +08:00
2024-04-12 12:51:58 +08:00
2025-04-10 17:13:10 -07:00
2023-07-17 13:50:25 -07:00
2023-07-17 13:50:24 -07:00
2024-05-04 17:00:29 -07:00
2024-11-18 15:28:17 -06:00
2024-06-25 15:04:32 +08:00
2025-05-12 09:10:16 -04:00
2024-06-24 11:08:46 +08:00
2024-01-12 13:47:59 +08:00
2024-05-05 10:46:06 -07:00
2024-09-03 10:54:20 +08:00
2023-12-14 14:03:57 -08:00
2024-06-24 11:08:46 +08:00
2025-03-27 14:04:41 +08:00
2025-06-26 13:39:45 +08:00
2024-06-21 09:21:40 +08:00
2024-06-21 17:50:30 +08:00
2024-06-21 09:21:40 +08:00
2025-02-27 18:51:39 +08:00
2024-05-07 13:25:42 +08:00
2024-06-21 09:21:40 +08:00
2024-03-13 11:15:41 -07:00
2023-10-20 13:23:34 -07:00
2025-04-17 17:09:26 -07:00
2023-12-14 14:03:57 -08:00
2023-12-14 14:03:57 -08:00
2025-06-02 16:42:43 +01:00
2023-12-14 14:03:57 -08:00
2023-03-10 15:17:28 +01:00
2023-12-14 14:03:57 -08:00
2023-12-14 14:03:57 -08:00
2024-05-02 18:10:36 -07:00
2023-12-14 14:03:57 -08:00
2023-12-14 14:03:57 -08:00
2023-12-14 14:03:57 -08:00
2025-08-09 05:06:53 -03:00
2023-12-14 14:03:57 -08:00
2024-05-05 10:46:06 -07:00
2022-12-12 09:58:38 -08:00
2024-03-08 10:12:51 +08:00
2024-03-08 10:12:51 +08:00
2024-07-19 13:38:57 +08:00
2023-09-28 11:30:09 -07:00
2023-08-10 10:11:43 -07:00
2025-01-03 09:43:53 +08:00
2024-04-12 12:51:58 +08:00
2024-04-12 12:51:58 +08:00
2025-02-28 13:50:18 +01:00
2023-03-20 11:37:09 +08:00
2024-03-08 10:12:51 +08:00
2024-03-08 10:12:51 +08:00
2024-03-08 10:12:51 +08:00
2024-05-04 17:00:29 -07:00
2024-03-08 10:12:51 +08:00
2024-05-05 10:46:06 -07:00
2024-05-04 23:08:11 -07:00
2024-03-08 10:12:51 +08:00
2024-05-04 23:08:11 -07:00
2024-03-08 10:12:51 +08:00
2024-03-08 10:12:51 +08:00
2024-05-04 17:00:29 -07:00
2024-06-20 19:44:06 +02:00
2024-05-04 17:00:29 -07:00
2024-03-08 10:12:51 +08:00
2025-05-13 07:46:43 +02:00
2025-05-13 07:46:43 +02:00
2025-05-13 07:46:43 +02:00
2025-01-18 19:16:33 +01:00
2024-03-08 10:12:51 +08:00
2025-06-12 11:48:09 +08:00
2024-05-04 23:08:11 -07:00
2024-03-08 10:12:51 +08:00
2024-03-08 10:12:51 +08:00
2025-06-03 17:59:42 -07:00
2024-04-12 12:51:58 +08:00
2024-03-08 10:12:51 +08:00
2024-03-08 10:12:51 +08:00
2024-03-08 10:12:51 +08:00
2024-03-08 10:12:51 +08:00
2024-03-08 10:12:51 +08:00
2024-05-04 23:08:11 -07:00
2023-12-28 10:45:47 +08:00
2024-03-08 10:12:51 +08:00
2024-05-04 23:08:11 -07:00
2024-01-15 08:40:26 +01:00
2023-11-16 16:05:46 +08:00
2024-05-04 23:08:11 -07:00
2023-12-04 17:05:27 +08:00
2024-04-30 14:43:57 +08:00
2024-02-01 13:44:32 +08:00
2024-01-15 17:00:49 +08:00
2024-05-04 17:00:29 -07:00
2024-02-20 14:33:48 +08:00
2024-04-19 09:46:18 +08:00
2024-04-28 15:23:39 +08:00
2025-01-17 13:41:44 +08:00
2024-04-30 11:34:34 +08:00
2024-05-07 10:59:34 +08:00
2024-05-20 10:36:03 +08:00
2024-05-29 13:39:57 +08:00
2024-06-03 14:59:23 +08:00
2024-07-02 13:55:30 +08:00
2025-08-08 13:29:00 -07:00
2024-08-09 14:48:56 +08:00
2024-08-09 13:39:24 +08:00
2024-08-08 13:29:59 +08:00
2024-08-08 13:29:59 +08:00
2024-08-12 18:27:37 +08:00
2024-08-29 12:37:56 +08:00
2024-08-29 15:42:57 +08:00
2024-09-09 11:24:50 +08:00
2024-09-18 10:13:06 +08:00
2025-06-25 14:12:32 +08:00
2025-06-12 14:42:04 +08:00
2025-02-08 22:29:23 -08:00
2024-12-23 15:14:38 +08:00
2024-12-25 17:45:28 +08:00
2025-03-15 23:03:20 -07:00
2025-02-05 14:13:18 +08:00
2025-03-11 11:36:17 +08:00
2025-02-11 14:12:32 +08:00
2025-02-21 10:48:30 +08:00
2025-03-15 23:03:20 -07:00
2025-05-15 10:50:45 +08:00
2025-06-23 14:39:08 +08:00
2025-08-14 14:23:14 +08:00
2025-05-16 16:29:33 +02:00
2025-06-12 17:46:33 +08:00
2025-06-20 17:03:29 +08:00
2025-06-27 13:35:09 +08:00
2025-08-04 06:44:10 -07:00
2023-12-14 14:03:57 -08:00
2024-11-27 11:35:49 +08:00
2024-03-08 10:12:51 +08:00
2025-06-17 09:45:18 +01:00
2025-01-22 18:17:37 +01:00
2023-10-06 12:27:07 -07:00
2023-02-10 16:14:37 +08:00
2024-05-05 11:42:04 -07:00
2024-04-19 12:45:40 -07:00
2024-12-05 15:08:38 +01:00
2024-11-08 09:10:37 +01:00
2024-04-12 22:36:43 -07:00
2024-03-08 10:12:51 +08:00
2024-03-08 10:12:51 +08:00
2024-03-08 10:12:51 +08:00
2025-01-17 13:41:44 +08:00
2024-03-08 10:12:51 +08:00
2024-03-08 10:12:51 +08:00
2024-03-08 10:12:51 +08:00
2024-12-11 09:40:47 +08:00
2023-12-14 14:03:57 -08:00
2022-12-12 11:25:19 -08:00
2025-01-18 19:16:33 +01:00
2023-12-14 14:03:57 -08:00
2024-06-18 13:40:31 -04:00
2023-12-14 14:03:57 -08:00
2023-08-28 12:13:42 -04:00
2024-03-08 10:12:51 +08:00
2024-09-03 10:54:20 +08:00
2024-09-03 10:54:20 +08:00
2024-05-04 23:08:11 -07:00
2024-08-29 14:54:40 -07:00
2025-08-20 11:47:00 +08:00
2024-04-12 12:51:58 +08:00
2023-05-23 10:52:22 +08:00
2023-05-23 10:52:22 +08:00
2024-03-08 10:12:51 +08:00
2023-10-31 09:38:45 -04:00
2023-12-14 14:03:57 -08:00
2025-04-13 22:29:27 -07:00
2023-12-14 14:03:57 -08:00
2023-12-14 14:03:57 -08:00
2023-12-14 14:03:57 -08:00
2023-12-14 14:03:57 -08:00
2025-06-21 18:58:56 +08:00
2023-04-13 15:14:34 +08:00
2023-04-13 15:14:34 +08:00
2023-04-13 15:14:34 +08:00
2025-06-21 18:58:56 +08:00
2025-06-21 18:58:56 +08:00
2025-06-03 17:59:42 -07:00
2025-04-15 10:17:03 +08:00
2024-11-18 15:28:17 -06:00
2025-05-13 14:00:31 -07:00
2024-04-30 16:37:27 +08:00
2023-08-28 12:13:42 -04:00
2024-03-08 10:12:51 +08:00
2023-07-17 13:50:25 -07:00
2025-05-06 16:40:01 -07:00
2023-09-28 11:30:09 -07:00
2025-08-20 11:47:00 +08:00
2025-08-20 10:14:01 +08:00
2024-08-30 11:45:01 +08:00
2024-08-05 17:01:24 +08:00
2025-08-01 23:53:17 -07:00
2025-08-01 23:53:17 -07:00
2024-08-08 13:14:09 +08:00
2024-10-30 17:27:04 +08:00
2024-03-13 11:15:41 -07:00
2024-07-23 13:02:59 -07:00
2023-10-03 12:41:11 -07:00
2024-05-04 23:08:11 -07:00
2023-01-31 09:57:23 -05:00
2023-01-31 09:57:23 -05:00
2024-09-26 15:56:33 -07:00
2024-07-23 11:26:25 -07:00
2023-04-20 11:29:23 -07:00
2023-12-04 17:05:27 +08:00
2023-03-31 15:56:09 -07:00
2023-12-14 14:03:57 -08:00
2024-03-08 10:12:51 +08:00
2024-07-02 19:34:48 +08:00
2025-06-25 17:51:50 +08:00
2025-03-10 10:32:08 +01:00
2024-04-12 12:51:58 +08:00
2024-03-08 10:12:51 +08:00
2024-03-08 10:12:51 +08:00
2024-01-11 09:46:54 +01:00
2023-01-31 09:57:23 -05:00
2023-12-14 14:03:57 -08:00
2024-06-21 11:04:53 +08:00
2024-03-06 15:46:55 +08:00
2025-03-19 11:19:25 -07:00
2025-03-05 10:32:19 +08:00
2025-04-24 05:36:20 +02:00
2024-09-03 10:54:20 +08:00
2024-07-08 09:26:44 -07:00
2023-03-16 15:31:17 -07:00
2023-03-03 11:15:29 +08:00
2023-08-28 12:13:42 -04:00
2025-06-02 15:59:16 -07:00
2023-12-14 14:03:57 -08:00
2025-07-03 15:37:55 -07:00
2025-07-07 16:01:40 -07:00
2025-06-23 20:20:15 -07:00
2023-05-25 12:36:57 -07:00
2025-01-22 17:24:12 +08:00
2023-11-16 08:41:20 -08:00
2025-01-22 12:30:31 +08:00
2025-04-14 14:17:36 +02:00
2024-08-23 17:42:47 +08:00
2023-09-28 11:30:09 -07:00
2023-08-09 10:40:53 -07:00