fix: macro member order - #1247
Conversation
sortMembers listed each tranche bucket by hand and never got updated when the Macros bucket was added, so macros skipped the sort and rendered in extraction order. Iterate the tranche's members via describe::for_each_member instead, so every bucket (Macros included) is sorted and new buckets stay in sync without touching this code.
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
|
| Scope | Lines Δ% | Lines Δ | Lines + | Lines - | Files Δ | Files + | Files ~ | Files ↔ | Files - |
|---|---|---|---|---|---|---|---|---|---|
| 🥇 Golden Tests | 96% | 810 | 405 | 405 | 11 | - | 11 | - | - |
| 🛠️ Source | 4% | 30 | 9 | 21 | 1 | - | 1 | - | - |
| Total | 100% | 840 | 414 | 426 | 12 | - | 12 | - | - |
Legend: Files + (added), Files ~ (modified), Files ↔ (renamed), Files - (removed)
🔝 Top Files
- tests/golden/fixtures/symbols/macro/macros.xml (Golden Tests): 480 lines Δ (+240 / -240)
- tests/golden/fixtures/symbols/macro/macros-edge-cases.xml (Golden Tests): 74 lines Δ (+37 / -37)
- tests/golden/fixtures/config/extract-all/no-extract-all-macros.xml (Golden Tests): 50 lines Δ (+25 / -25)
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## develop #1247 +/- ##
========================================
Coverage 83.12% 83.12%
========================================
Files 35 35
Lines 3662 3662
Branches 845 845
========================================
Hits 3044 3044
Misses 410 410
Partials 208 208
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|
An automated preview of the documentation is available at https://1247.mrdocs.prtest2.cppalliance.org/index.html If more commits are pushed to the pull request, the docs will rebuild at the same URL. 2026-07-30 17:13:25 UTC |
14a36c8
Macros showed up in extraction order instead of sorted. The member sort walked a handwritten list of tranches that never got the macros, so macros were skipped. This PR walks the buckets by reflection instead, so macros come out sorted, and any bucket added later is covered without touching the sort.
Changes
The member sort now covers every tranche of a member group with reflection rather than a fixed list. The macro fixtures were regenerated and now list macros in sorted order.
Testing
The regenerated macro fixtures cover the ordering and run on every build.
Documentation
This is a fix. No documentation changes needed.