elijahr
1324183c38
fix #17630 : Implement cycle detection for recursive concepts ( #25353 )
...
fixes #17630
## Recursive Concept Cycle Detection
- Track (conceptId, typeId) pairs during matching to detect cycles
- Changed marker from IntSet to HashSet[ConceptTypePair]
- Removed unused depthCount field
- Added recursive concepts documentation to manual
- Added tests for recursive concepts, distinct chains, and co-dependent
concepts
## Fix Flaky `tasyncclosestall` Test
The macOS ARM64 CI jobs were failing due to a flaky async socket test
(unrelated to concepts).
The test only accepted `EBADF` as a valid error code when closing a
socket with pending writes. However, depending on timing, the kernel may
report `ECONNRESET` or `EPIPE` instead:
- **EBADF**: Socket was closed locally before kernel detected remote
state
- **ECONNRESET**: Remote peer sent RST packet (detected first)
- **EPIPE**: Socket is no longer connected (broken pipe)
All three are valid disconnection errors. The fix accepts any of them,
making the test reliable across platforms.
---------
Co-authored-by: Andreas Rumpf <araq4k@proton.me >
2025-12-20 08:56:10 +01:00
..
2025-12-18 09:34:39 +01:00
2025-11-13 21:31:24 +01:00
2023-08-06 14:26:21 +02:00
2023-12-15 10:20:57 +01:00
2025-12-18 09:34:39 +01:00
2025-12-18 09:34:39 +01:00
2025-12-01 22:59:12 +01:00
2025-12-18 09:34:39 +01:00
2024-04-16 12:46:59 +02:00
2024-07-12 15:23:09 +02:00
2023-10-11 17:44:14 +02:00
2023-08-06 14:26:21 +02:00
2024-11-19 08:51:54 +01:00
2024-11-21 14:29:18 +03:00
2024-11-18 17:34:37 +01:00
2024-11-18 17:34:37 +01:00
2025-12-11 18:22:38 +01:00
2025-12-18 09:34:39 +01:00
2025-12-07 13:07:44 +01:00
2022-11-30 21:51:13 +01:00
2025-10-06 21:55:31 +02:00
2025-11-27 10:09:52 +01:00
2024-11-18 17:34:37 +01:00
2024-11-18 17:34:37 +01:00
2025-12-18 09:34:39 +01:00
2025-03-10 11:20:44 +01:00
2025-12-18 09:34:39 +01:00
2025-11-25 12:49:23 +01:00
2025-12-11 18:22:38 +01:00
2025-12-11 18:22:38 +01:00
2024-03-28 11:04:12 +01:00
2025-12-11 18:22:38 +01:00
2023-06-18 16:06:14 +02:00
2025-12-20 08:56:10 +01:00
2025-09-18 20:50:46 +02:00
2017-01-07 22:35:09 +01:00
2022-06-10 20:40:08 +02:00
2023-10-29 14:48:11 +01:00
2025-12-06 11:45:01 +01:00
2025-04-02 09:29:15 +02:00
2023-08-06 14:26:21 +02:00
2025-12-11 18:22:38 +01:00
2025-11-13 21:31:24 +01:00
2023-11-20 21:12:13 +01:00
2025-12-11 18:22:38 +01:00
2025-12-11 18:22:38 +01:00
2024-08-28 20:46:36 +02:00
2025-07-14 23:14:06 +02:00
2023-10-29 14:48:11 +01:00
2023-10-29 14:48:11 +01:00
2023-10-29 14:48:11 +01:00
2025-12-11 18:22:38 +01:00
2025-11-21 21:26:43 +01:00
2023-10-29 14:48:11 +01:00
2025-11-13 21:31:24 +01:00
2020-06-01 19:21:41 +02:00
2025-12-18 18:54:03 +01:00
2025-11-25 12:49:23 +01:00
2025-10-13 13:47:06 +02:00
2023-12-15 08:13:25 +01:00
2024-12-27 19:42:18 +01:00
2025-11-14 18:43:13 +01:00
2025-07-14 23:15:44 +02:00
2025-12-11 18:22:38 +01:00
2025-05-06 09:36:20 +02:00
2023-12-13 10:39:10 +01:00
2023-12-15 08:13:25 +01:00
2025-12-11 18:22:38 +01:00
2025-12-11 18:22:38 +01:00
2025-12-06 11:45:01 +01:00
2024-10-11 12:00:05 +02:00
2025-03-25 07:41:17 +01:00
2025-11-13 21:31:24 +01:00
2025-12-11 18:22:38 +01:00
2021-01-12 09:36:51 +01:00
2025-12-11 18:22:38 +01:00
2025-12-07 13:07:44 +01:00
2024-04-05 08:54:48 +02:00
2025-12-18 09:34:39 +01:00
2025-06-05 08:34:52 +02:00
2025-11-13 21:31:24 +01:00
2025-12-06 11:45:01 +01:00
2025-12-18 09:34:39 +01:00
2025-07-14 23:19:58 +02:00
2025-12-11 18:22:38 +01:00
2025-09-18 20:50:46 +02:00
2025-12-07 13:07:44 +01:00
2023-12-15 08:13:25 +01:00
2025-10-23 09:05:05 +02:00
2025-11-13 21:31:24 +01:00
2023-10-29 14:48:11 +01:00
2023-10-29 14:48:11 +01:00
2025-12-11 18:22:38 +01:00
2023-10-29 14:48:11 +01:00
2024-08-12 15:33:26 +02:00
2023-04-17 20:55:22 +02:00
2025-04-03 12:54:00 +02:00
2025-12-09 07:16:08 +01:00
2023-08-06 14:26:21 +02:00
2025-11-13 21:31:24 +01:00
2025-09-24 06:29:57 +02:00
2025-07-14 23:15:02 +02:00
2022-08-24 09:44:16 +02:00
2025-11-13 21:31:24 +01:00
2023-10-29 14:48:11 +01:00
2025-04-12 08:39:11 +02:00
2025-12-18 09:34:39 +01:00
2023-03-03 07:36:38 +01:00
2025-10-13 13:47:06 +02:00
2018-05-27 19:19:12 +02:00
2025-12-11 18:22:38 +01:00
2023-10-29 14:48:11 +01:00
2024-04-10 14:41:16 +02:00
2024-09-03 09:19:52 +02:00
2023-07-02 22:36:05 +02:00
2025-10-23 19:19:27 +02:00
2023-10-29 14:48:11 +01:00
2025-04-12 08:39:11 +02:00
2023-11-06 18:33:28 +01:00
2023-08-10 14:26:40 +02:00
2020-09-11 01:04:07 +02:00
2025-11-13 21:31:24 +01:00
2025-12-11 18:22:38 +01:00
2025-12-11 18:22:38 +01:00
2025-12-11 18:22:38 +01:00
2025-12-11 18:22:38 +01:00
2025-12-11 18:22:38 +01:00
2025-12-18 04:53:09 +01:00
2025-12-11 18:22:38 +01:00
2025-12-18 09:34:39 +01:00
2025-12-11 18:22:38 +01:00
2025-12-11 18:22:38 +01:00
2025-12-11 18:22:38 +01:00
2025-12-11 18:22:38 +01:00
2025-12-11 18:22:38 +01:00
2025-12-11 18:22:38 +01:00
2022-12-11 16:58:50 +01:00
2025-12-11 18:22:38 +01:00
2025-12-11 18:22:38 +01:00
2025-12-11 18:22:38 +01:00
2025-11-25 12:49:23 +01:00
2025-12-11 18:22:38 +01:00
2025-11-13 21:31:24 +01:00
2025-12-11 18:22:38 +01:00
2024-03-16 08:35:18 +08:00
2025-12-11 18:22:38 +01:00
2025-11-13 21:31:24 +01:00
2025-07-18 08:44:36 +02:00
2024-04-10 14:41:16 +02:00
2023-08-10 14:26:40 +02:00
2025-12-18 09:34:39 +01:00
2025-04-12 08:39:11 +02:00
2025-12-15 13:19:56 +01:00
2025-09-23 13:04:27 +02:00
2025-12-18 09:34:39 +01:00
2025-12-11 18:22:38 +01:00
2023-10-29 14:48:11 +01:00
2025-11-13 21:31:24 +01:00
2025-12-11 18:22:38 +01:00
2023-12-12 16:54:50 +01:00
2025-11-12 19:04:21 +01:00
2025-12-11 18:22:38 +01:00
2025-12-11 18:22:38 +01:00
2023-08-10 14:26:40 +02:00
2024-04-10 14:41:16 +02:00
2025-05-10 08:26:21 +02:00
2025-11-13 21:31:24 +01:00
2025-12-11 18:22:38 +01:00
2023-12-25 07:12:54 +01:00