feat(cpp): resolve template-body this-> + using ns::name calls in scope resolver#1590
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Agent-Logs-Url: https://github.com/abhigyanpatwari/GitNexus/sessions/d9d91945-f19c-4fd2-9b52-b0ebc9aa34b6 Co-authored-by: magyargergo <11230420+magyargergo@users.noreply.github.com>
Agent-Logs-Url: https://github.com/abhigyanpatwari/GitNexus/sessions/d9d91945-f19c-4fd2-9b52-b0ebc9aa34b6 Co-authored-by: magyargergo <11230420+magyargergo@users.noreply.github.com>
this-> + using ns::name calls in scope resolver
this-> + using ns::name calls in scope resolverthis-> + using ns::name calls in scope resolver
|
Claude finished @magyargergo's task in 7m 47s —— View job PR #1590 — Production-Readiness ReviewTasks:
Review bar for this PRDoD.md §2.1 (correctness), §2.7 (tests), and §6 (not-done signals) plus the PR-specific bar: prefer a missed binding over a misleading binding unless the new binding is proven deterministic, language-scoped, and arity-safe. C++ is in Current PR stateOpen. 4 commits: Branch hygiene assessmentClassification: merge-from-main commit present but harmless and merge-safe.
Understanding of the changeThree independent mechanisms added:
FindingsFinding 1:
|
✨ PR AutofixFound fixable formatting / unused-import issues across 49 changed lines. Comment |
|
/autofix |
|
✅ Applied autofix and pushed a commit. (apply run) |
CI Report✅ All checks passed Pipeline Status
Test Results
✅ All 9042 tests passed 1 test(s) skipped — expand for details
Code CoverageTests
📋 View full run · Generated by CI |
@copilot address these findings and act as a senior c++ static analysis tool engineer and iso c++ compiler expert and follow DoD.md |
Agent-Logs-Url: https://github.com/abhigyanpatwari/GitNexus/sessions/030a1842-c698-460d-ae2a-95037e6def73 Co-authored-by: magyargergo <11230420+magyargergo@users.noreply.github.com>
…wing Agent-Logs-Url: https://github.com/abhigyanpatwari/GitNexus/sessions/030a1842-c698-460d-ae2a-95037e6def73 Co-authored-by: magyargergo <11230420+magyargergo@users.noreply.github.com>
Applied autofix updates in commits d681f19 and f466231 (C++-gated
Addressed the blocking findings in d681f19 and f466231: Case 0.5 is now C++-gated, |
|
@copilot make sure ci is healthy! the cpp parity test failure most likely comes from the fact that we need to skip the new tests from the legacy DAG |
Agent-Logs-Url: https://github.com/abhigyanpatwari/GitNexus/sessions/27002f6e-6331-41e3-8175-9d9e4691927c Co-authored-by: magyargergo <11230420+magyargergo@users.noreply.github.com>
Done in 5d9f335: I added the new C++ template |
… scope resolver (abhigyanpatwari#1590) * Initial plan * fix(cpp): resolve this-> and using-name calls in template bodies Agent-Logs-Url: https://github.com/abhigyanpatwari/GitNexus/sessions/d9d91945-f19c-4fd2-9b52-b0ebc9aa34b6 Co-authored-by: magyargergo <11230420+magyargergo@users.noreply.github.com> * fix(cpp): treat duplicate using-name hits as ambiguous Agent-Logs-Url: https://github.com/abhigyanpatwari/GitNexus/sessions/d9d91945-f19c-4fd2-9b52-b0ebc9aa34b6 Co-authored-by: magyargergo <11230420+magyargergo@users.noreply.github.com> * chore(autofix): apply prettier + eslint fixes via /autofix command * fix(cpp): gate this-receiver path and harden overload semantics Agent-Logs-Url: https://github.com/abhigyanpatwari/GitNexus/sessions/030a1842-c698-460d-ae2a-95037e6def73 Co-authored-by: magyargergo <11230420+magyargergo@users.noreply.github.com> * test(cpp): add positive this-> overload case and document field shadowing Agent-Logs-Url: https://github.com/abhigyanpatwari/GitNexus/sessions/030a1842-c698-460d-ae2a-95037e6def73 Co-authored-by: magyargergo <11230420+magyargergo@users.noreply.github.com> * test(cpp): skip new template-this assertions in legacy parity lane Agent-Logs-Url: https://github.com/abhigyanpatwari/GitNexus/sessions/27002f6e-6331-41e3-8175-9d9e4691927c Co-authored-by: magyargergo <11230420+magyargergo@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: magyargergo <11230420+magyargergo@users.noreply.github.com> Co-authored-by: Gergő Magyar <gergomagyar@icloud.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Template class bodies had two positive-lookup gaps: explicit
this->member()calls were not reliably resolving through class ownership/MRO, and free calls introduced viausing ns::namecould be missed in template contexts. This PR closes those gaps while preserving existing two-phase dependent-base suppression behavior and keeping legacy-parity CI stable.Scope resolution: explicit
thisreceiver path (C++-only)receiverName === 'this'inreceiver-bound-calls, gated behindresolveThisViaEnclosingClassand enabled only for C++.this->f()→ most-derived memberthis->base_method()→ inherited member viaEXTENDSchainScope resolution:
using ns::namerecovery for template bodiesParsedImportnamed-using entries (kind: 'named').localNameback to namespace member via qualified namespace resolver.'ambiguous') to avoid non-deterministic binding.Callable lookup hardening correction
findCallableBindingInScopeto avoid cross-language scope-boundary regressions.Integration fixtures + assertions
this->f()this->base_method()utils::ns_helper()ns_helper_2()afterusing utils::ns_helper_2;f()suppressed +this->f()resolved in the same class body).this->f(42)).targetFilePathchecks.Parity CI stability
this->assertions as expected legacy-DAG parity skips, so registry-primary behavior is tested while legacy parity remains green.