Repository navigation
fix(tools): detect NID alias overlaps between exports - #8961
Conversation
|
The current Conventions job fails for two fixable reasons: the three-line explanatory comment above the canonicalization in |
|
I found a gap in my overlap checker: it compared export names literally and did not normalize |
|
I independently ran the focused tests from exact head |
MarcZX10
left a comment
There was a problem hiding this comment.
The author removed the disallowed implementation comment and completed the required PR sections; the latest Conventions check passes. I independently ran the focused overlap tests on the previous head and all 10 passed; the implementation changes since then are documentation/comment cleanup. The cross-platform relinker jobs are still pending, so this approval reflects the focused code and convention review, not those unfinished jobs.
|
Thanks for fixing the template and comment issue. The current Conventions check is green. My 10-test focused run was on the preceding code-equivalent head; the remaining platform jobs are still running. |
|
@xdCloudy thanks, the alias check reads right and its normalisation matches |
|
Thanks, agreed. This PR stays focused on normalizing aliases between open PRs. I separately checked this batch against current |
|
Some comparisons could not be completed because a pull request conflicts with the base branch. Review these shared files manually before concluding that there is no overlap.
|
|
I manually reviewed #988's change to |
THEMANnt
left a comment
There was a problem hiding this comment.
Reviewed at 39b0c5cb4, with both commits cherry-picked onto main 44e3389c8 on Windows.
- Full
test_pr_overlap*.pysuite: 61 passed, 4 platform-specific skips (65 run). - Compared 36 alias/suffix cases against the production C++
Nid::Internal::StripNidPostfix, compiled with GCC 15.2; all matched. - Three
overlaps()probes reproduce missed collisions on main and detect them with this change. Distinct names and no-patch helpers remain excluded. - Conventions and whitespace checks pass.
No actionable findings. Linux-only cases and a live exhaustive PR audit were not run.
AI-assisted: yes (Codex); results above were run locally.
What
Normalize
_nid_postfixand_nid_disambigNexport names in PR overlap comparisons so aliases that resolve to the same NID are detected.Tested
Windows local Python:
python -m unittest tools.tests.test_pr_overlap_exports tools.tests.test_pr_overlap_wrapped_exportspassed (10 tests).git diff --checkpassed. The normalized export check covered 813 open PRs; 3 unrelated diffs could not be retrieved.Checklist
main; no other open PR implements the same functions.mdfiles or images added to the repository