From d07bedfe4f98d866834cc7fe18c3c7df4518e6e6 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 9 Nov 2025 22:40:44 +0000 Subject: [PATCH 1/6] Initial plan From e9c2ae4d8f5af3fa5639716a4c44a16cc5fafa54 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 9 Nov 2025 22:44:31 +0000 Subject: [PATCH 2/6] Update all git submodules to latest versions Co-authored-by: chenpeizhi <8114085+chenpeizhi@users.noreply.github.com> --- deps/cpypp | 2 +- deps/fbitset | 2 +- deps/libparenth | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/deps/cpypp b/deps/cpypp index ee9c6e7..d9c6813 160000 --- a/deps/cpypp +++ b/deps/cpypp @@ -1 +1 @@ -Subproject commit ee9c6e7c4bcd4579c7b5a58a4c7626630f8c8ffd +Subproject commit d9c68139eac3dca1175d61bbfb3a696bf1ad39db diff --git a/deps/fbitset b/deps/fbitset index 7d18fd7..c3ca474 160000 --- a/deps/fbitset +++ b/deps/fbitset @@ -1 +1 @@ -Subproject commit 7d18fd739a932d7fc9836431b10df71148fca8b4 +Subproject commit c3ca47404ac195a96f87ccf94ea66b3fc593cff5 diff --git a/deps/libparenth b/deps/libparenth index 2093109..a354fc0 160000 --- a/deps/libparenth +++ b/deps/libparenth @@ -1 +1 @@ -Subproject commit 2093109496f7be6c6ceda06ce66f1835c09d4531 +Subproject commit a354fc05ea66983a37310a4bb7c9046062a5b1ca From ab4e32a02e849aae933ea34cb6aff30f00fa6314 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 9 Nov 2025 23:11:41 +0000 Subject: [PATCH 3/6] Fix segfault by pinning fbitset to compatible version MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The latest fbitset (c3ca474) introduced a backward-incompatible change from Size=int to Size=size_t that causes segmentation faults in the C++ extension. Pin fbitset to 7d18fd7 (old version) while updating cpypp and libparenth to their latest versions. Updated submodules: - cpypp: ee9c6e7 → d9c6813 (CI improvements) - libparenth: 2093109 → a354fc0 (CI improvements) - fbitset: kept at 7d18fd7 (avoiding backward-incompatible Size type change) All tests pass successfully with this configuration. Co-authored-by: chenpeizhi <8114085+chenpeizhi@users.noreply.github.com> --- deps/fbitset | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deps/fbitset b/deps/fbitset index c3ca474..7d18fd7 160000 --- a/deps/fbitset +++ b/deps/fbitset @@ -1 +1 @@ -Subproject commit c3ca47404ac195a96f87ccf94ea66b3fc593cff5 +Subproject commit 7d18fd739a932d7fc9836431b10df71148fca8b4 From 1f9c1a449723ba422fe4159522efdcbee5d0a8f2 Mon Sep 17 00:00:00 2001 From: Copilot Date: Sun, 9 Nov 2025 23:26:52 +0000 Subject: [PATCH 4/6] Update all submodules to latest versions with compatibility fixes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Updated all three C++ dependency submodules to their latest commits and fixed compatibility issues caused by fbitset's Size type change (int → size_t). Changes: 1. Updated fbitset to c3ca474 with local fix for find_last() sentinel value 2. Updated libparenth to a354fc0 with local fixes for size_t compatibility 3. Updated cpypp to d9c6813 (no changes needed) 4. Fixed _parenth.cpp to use size_t instead of long for Size values The fbitset Size type change from int to size_t introduced issues: - find_last() returned -1 (invalid for unsigned types) - libparenth code checked for negative values - Fixed by using SIZE_MAX as sentinel and updating all checks All 32 core tests pass successfully. Co-authored-by: chenpeizhi <8114085+chenpeizhi@users.noreply.github.com> --- deps/fbitset | 2 +- deps/libparenth | 2 +- gristmill/_parenth.cpp | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/deps/fbitset b/deps/fbitset index 7d18fd7..3dcd9b2 160000 --- a/deps/fbitset +++ b/deps/fbitset @@ -1 +1 @@ -Subproject commit 7d18fd739a932d7fc9836431b10df71148fca8b4 +Subproject commit 3dcd9b2348cb72a11d861fdca202cd84ac263af7 diff --git a/deps/libparenth b/deps/libparenth index a354fc0..c325f37 160000 --- a/deps/libparenth +++ b/deps/libparenth @@ -1 +1 @@ -Subproject commit a354fc05ea66983a37310a4bb7c9046062a5b1ca +Subproject commit c325f378cbd956aa74b1aa51c2bfa0df69abcc12 diff --git a/gristmill/_parenth.cpp b/gristmill/_parenth.cpp index 4c24945..b5618b0 100644 --- a/gristmill/_parenth.cpp +++ b/gristmill/_parenth.cpp @@ -241,7 +241,7 @@ static PyObject* parenth_func(PyObject* self, PyObject* args) for (auto& factor : factors_inp) { factors.emplace_back(); for (auto& i : factor) { - factors.back().push_back(i.as()); + factors.back().push_back(i.as()); } } From 9db1cb2a2e0cc4f05c17ee985ad89d9983c3e0d3 Mon Sep 17 00:00:00 2001 From: Copilot Date: Sun, 9 Nov 2025 23:27:52 +0000 Subject: [PATCH 5/6] Update libparenth submodule reference after fbitset fix Updated libparenth submodule to include the fix for its embedded fbitset dependency. Co-authored-by: chenpeizhi <8114085+chenpeizhi@users.noreply.github.com> --- deps/libparenth | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deps/libparenth b/deps/libparenth index c325f37..26534e4 160000 --- a/deps/libparenth +++ b/deps/libparenth @@ -1 +1 @@ -Subproject commit c325f378cbd956aa74b1aa51c2bfa0df69abcc12 +Subproject commit 26534e40a5c9525235592787949a823d63163118 From c0f61088ebc819c3beeafc0d5538d5c8b48bd7ad Mon Sep 17 00:00:00 2001 From: Copilot Date: Sun, 9 Nov 2025 23:29:24 +0000 Subject: [PATCH 6/6] Fix libparenth's embedded fbitset submodule reference Ensure libparenth's embedded fbitset is at the correct commit with the SIZE_MAX sentinel fix applied. Co-authored-by: chenpeizhi <8114085+chenpeizhi@users.noreply.github.com> --- deps/libparenth | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deps/libparenth b/deps/libparenth index 26534e4..ca06bc3 160000 --- a/deps/libparenth +++ b/deps/libparenth @@ -1 +1 @@ -Subproject commit 26534e40a5c9525235592787949a823d63163118 +Subproject commit ca06bc3274cb1f604e00482cd51c759e60272571