mirror of
https://github.com/abhigyanpatwari/GitNexus.git
synced 2026-10-03 02:21:44 +00:00
test(php): register FQN test in legacy-parity skip list (Codex #1497)
After U3 (FQN-keyed bindingAugmentations) lands, the FQN regression
passes under REGISTRY_PRIMARY_PHP=1 but still fails under =0. The
legacy DAG resolves receiver types via simple-name workspace lookup
and has no namespace-prefixed binding channel, so it cannot
distinguish `\App\Other\User` from a same-simple-name class
reachable via `use`. Per the established convention from commit
af9af4a9 ("parity with the legacy DAG is not a correctness
criterion when the legacy DAG itself has the same defect"), the
test registers in LEGACY_RESOLVER_PARITY_EXPECTED_FAILURES.php
rather than blocking the migration.
The other two assertions in the new describe block (class detection
and the saveLocal control) pass in both modes and stay green.
Verified:
- REGISTRY_PRIMARY_PHP=0: 174 passed, 4 skipped (3 existing + 1 new).
- REGISTRY_PRIMARY_PHP=1: 178 passed.
- C# + Python + TypeScript + Go + C resolver matrix: 794 passed.
- pickImplicitThisOverload unit tests: 5 passed.
- resolver-parity-expected-failures unit test: 3 passed.
Plan: docs/plans/2026-05-11-002-fix-php-fqn-and-overload-codex-findings-plan.md (U5)
This commit is contained in:
parent
53d1b7ba2b
commit
d776ca6a84
1 changed files with 8 additions and 0 deletions
|
|
@ -50,6 +50,14 @@ const LEGACY_RESOLVER_PARITY_EXPECTED_FAILURES: Readonly<Record<string, Readonly
|
|||
// trait-aware MRO, so it fails to bind the call to the trait. Scope-
|
||||
// resolver-only correctness win (commit af9af4a9 U3).
|
||||
'$this->record() still resolves to Auditable::record (trait shadows parent)',
|
||||
// Fully-qualified type-hint resolution (`\App\Other\User $u` parameter)
|
||||
// routes through the scope-resolver's bindingAugmentations channel
|
||||
// populated by `populatePhpNamespaceSiblings` Step 3b. The legacy DAG
|
||||
// resolves receiver types via simple-name workspace lookup and has no
|
||||
// namespace-prefixed binding channel, so it cannot distinguish the FQN
|
||||
// target from a same-simple-name class reachable via `use`. Scope-
|
||||
// resolver-only correctness win (Codex PR #1497 review, finding 1).
|
||||
'\\App\\Other\\User parameter resolves $u->record() to app/Other/User.php (NOT app/Models/User.php)',
|
||||
]),
|
||||
python: new Set([
|
||||
// Suffix-fallback lex tiebreak depends on the registry-primary
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue