Skip to content

fix: Fix linearity checking of struct and tuple fields in control blocks - #2510

Merged
nicolaassolini-qntm merged 1 commit into
release/1.2from
na/backport-2474-release-1.2
Nov 10, 2026
Merged

nicolaassolini-qntm merged 1 commit into
release/1.2from
na/backport-2474-release-1.2

Conversation

@nicolaassolini-qntm

Copy link
Copy Markdown
Contributor

backport of #2474

…cks (#2474)

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
(cherry picked from commit dfaffd9)
@nicolaassolini-qntm nicolaassolini-qntm added the C-backport A PR that backports a specific commit to a release branch. label Nov 10, 2026 — with ChatGPT Codex Connector
@github-actions

Copy link
Copy Markdown
Contributor

🐰 Bencher Report

Projectguppylang
Branchna/backport-2474-release-1.2
TestbedLinux

🚨 8 Alerts

BenchmarkMeasure
Units
ViewBenchmark Result
(Result Δ%)
Upper Boundary
(Limit %)
tests/benchmarks/test_big_array.py::test_big_array_compilehugr_bytes
bytes x 1e3
📈 plot
🚷 threshold
🚨 alert (🔔)
62.23 x 1e3
(+3.99%)Baseline: 59.84 x 1e3
60.44 x 1e3
(102.96%)

tests/benchmarks/test_big_array.py::test_big_array_compilehugr_nodes
nodes x 1e3
📈 plot
🚷 threshold
🚨 alert (🔔)
4.58 x 1e3
(+1.57%)Baseline: 4.51 x 1e3
4.56 x 1e3
(100.57%)

tests/benchmarks/test_ctrl_flow.py::test_many_ctrl_flow_compilehugr_bytes
bytes x 1e3
📈 plot
🚷 threshold
🚨 alert (🔔)
28.17 x 1e3
(+4.84%)Baseline: 26.87 x 1e3
27.14 x 1e3
(103.80%)

tests/benchmarks/test_ctrl_flow.py::test_many_ctrl_flow_compilehugr_nodes
nodes x 1e3
📈 plot
🚷 threshold
🚨 alert (🔔)
1.30 x 1e3
(+10.07%)Baseline: 1.18 x 1e3
1.19 x 1e3
(108.98%)

tests/benchmarks/test_queue_push_pop.py::test_queue_push_benchmark_compilehugr_bytes
bytes x 1e3
📈 plot
🚷 threshold
🚨 alert (🔔)
6.86 x 1e3
(+2.34%)Baseline: 6.70 x 1e3
6.77 x 1e3
(101.33%)

tests/benchmarks/test_queue_push_pop.py::test_queue_push_benchmark_compilehugr_nodes
nodes
📈 plot
🚷 threshold
🚨 alert (🔔)
303.00
(+8.60%)Baseline: 279.00
281.79
(107.53%)

tests/benchmarks/test_queue_push_pop.py::test_queue_push_pop_benchmark_compilehugr_bytes
bytes x 1e3
📈 plot
🚷 threshold
🚨 alert (🔔)
9.47 x 1e3
(+2.73%)Baseline: 9.22 x 1e3
9.31 x 1e3
(101.72%)

tests/benchmarks/test_queue_push_pop.py::test_queue_push_pop_benchmark_compilehugr_nodes
nodes
📈 plot
🚷 threshold
🚨 alert (🔔)
404.00
(+8.89%)Baseline: 371.00
374.71
(107.82%)

Click to view all benchmark results
Benchmarkhugr_bytesBenchmark Result
bytes x 1e3
(Result Δ%)
Upper Boundary
bytes x 1e3
(Limit %)
hugr_nodesBenchmark Result
nodes
(Result Δ%)
Upper Boundary
nodes
(Limit %)
tests/benchmarks/test_big_array.py::test_big_array_compile📈 view plot
🚷 view threshold
🚨 view alert (🔔)
62.23 x 1e3
(+3.99%)Baseline: 59.84 x 1e3
60.44 x 1e3
(102.96%)

📈 view plot
🚷 view threshold
🚨 view alert (🔔)
4,585.00
(+1.57%)Baseline: 4,514.00
4,559.14
(100.57%)

tests/benchmarks/test_ctrl_flow.py::test_many_ctrl_flow_compile📈 view plot
🚷 view threshold
🚨 view alert (🔔)
28.17 x 1e3
(+4.84%)Baseline: 26.87 x 1e3
27.14 x 1e3
(103.80%)

📈 view plot
🚷 view threshold
🚨 view alert (🔔)
1,301.00
(+10.07%)Baseline: 1,182.00
1,193.82
(108.98%)

tests/benchmarks/test_queue_push_pop.py::test_queue_push_benchmark_compile📈 view plot
🚷 view threshold
🚨 view alert (🔔)
6.86 x 1e3
(+2.34%)Baseline: 6.70 x 1e3
6.77 x 1e3
(101.33%)

📈 view plot
🚷 view threshold
🚨 view alert (🔔)
303.00
(+8.60%)Baseline: 279.00
281.79
(107.53%)

tests/benchmarks/test_queue_push_pop.py::test_queue_push_pop_benchmark_compile📈 view plot
🚷 view threshold
🚨 view alert (🔔)
9.47 x 1e3
(+2.73%)Baseline: 9.22 x 1e3
9.31 x 1e3
(101.72%)

📈 view plot
🚷 view threshold
🚨 view alert (🔔)
404.00
(+8.89%)Baseline: 371.00
374.71
(107.82%)

🐰 View full continuous benchmarking report in Bencher

@nicolaassolini-qntm nicolaassolini-qntm changed the title fix: Backport #2474 to release/1.2 fix: Fix linearity checking of struct and tuple fields in control blocks Nov 10, 2026
@codecov-commenter

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 98.26087% with 2 lines in your changes missing coverage. Please review.
✅ Project coverage is 93.45%. Comparing base (3476258) to head (6e735fb).

Files with missing lines Patch % Lines
...rc/guppylang_internals/checker/modifier_checker.py 98.11% 2 Missing ⚠️
Additional details and impacted files
@@               Coverage Diff               @@
##           release/1.2    #2510      +/-   ##
===============================================
+ Coverage        93.41%   93.45%   +0.04%     
===============================================
  Files              167      167              
  Lines            16700    16805     +105     
===============================================
+ Hits             15600    15705     +105     
  Misses            1100     1100              

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@nicolaassolini-qntm
nicolaassolini-qntm marked this pull request as ready for review November 10, 2026 10:50
@nicolaassolini-qntm
nicolaassolini-qntm requested a review from a team as a code owner November 10, 2026 10:50
@nicolaassolini-qntm
nicolaassolini-qntm requested review from mark-koch and tatiana-s and removed request for mark-koch November 10, 2026 10:50
@nicolaassolini-qntm
nicolaassolini-qntm merged commit d4870c4 into release/1.2 Nov 10, 2026
16 of 17 checks passed
@nicolaassolini-qntm
nicolaassolini-qntm deleted the na/backport-2474-release-1.2 branch November 10, 2026 10:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

C-backport A PR that backports a specific commit to a release branch.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants