Preserve namespace class declaration identity and distinct exported owners
I maintainer di solito rispondono entro 1 giorno
Una pull request collegata è già stata integrata.
- #1973 di @nickna — integrata
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 38/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- csharp, node.js, typescript
- Ambito
- compilers, testing-qa
Direzione di ricerca
Start with docs/plans/namespace-class-identity.md and the retained fixtures under tests/fixtures/NamespaceClassIdentity/, including the four entry points and sibling variants. Compare both engines with Node v25.5.0, then inspect the namespace export/member path from #1776 and the identity-related tests from #1859. Done means all four entry points match Node in both import orders and the affected, Release, quality, and AOT checks pass.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
The #1908 investigation reproduces the historical duplicate property-dispatch diagnostic family, but the original namespace source/deadline was not recovered. This finite implementation transfer is allowed by that child's acceptance; it is not a claimed repair.
New retained controls: tests/fixtures/NamespaceClassIdentity/{siblings.ts,siblings-nongeneric.ts,left.ts,right.ts,main-left.ts,main-right.ts}. The design is docs/plans/namespace-class-identity.md on codex/epic-1866-behavior.
On unchanged 0ad37b57 and a90e3dc7, both sibling entry points interpret as 1 2 9 but compilation fails with Invalid or duplicate class property dispatch declaration, exit 1. TypeScript 7.0.2 accepts them and Node v25.5.0 prints that output. Both module import orders pass IL verification but throw TypeError: Cannot read properties of null (reading 'Box'), empty stdout; interpretation rejects exported namespace declaration naming. TypeScript/Node expect 1 2 in both orders. Those runtime failures are not passes.
Finite implementation:
- Tie namespace class owners and every constructor/member/property-dispatch reference to checked declaration identity, preserving namespace/module context during later emission phases. Do not suppress duplicate validation or publish last-writer simple-name aliases.
- Preserve top-level versus sibling/nested/reopened namespace declarations, generic and non-generic classes, observable names, private storage/origins, inherited members and bare class references inside methods.
- Coordinate the exact two module fixtures with #1776's existing namespace export/member path and preserve distinct exported class values in both import orders. Verify the interpreter export declaration name path. The null class-member failure is related, not yet proven an exact duplicate of #1776's function-member source.
- Preserve #1859 class-expression owner tests and #1781's separate object/System.Type construction regression. This is behavior repair, not another #1894 metadata ownership migration.
Done when all four entry points match Node in both engines, API module execution and IL-verified standalone output within 30 seconds; affected namespace/class/generic/module/private tests, Release, quality and actual AOT checks pass. Preserve full baseline failures and distinguish hosted coverage. Stop at these identity/lookup/export paths; assignment/deletion/enum semantics remain with existing epic children.
Refs #1908, #1866. The frozen epic is not expanded by this successor.
- Lingua principale
- C#
- Stelle
- 156
- Fork
- 4
- Merge medio
- 2h 47m
- PR unite (30g)
- 136
Preparare l'ambiente
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di nickna/SharpTS
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di nickna/SharpTS
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
I maintainer di solito rispondono entro 1 giorno
-
dette technique priorité: basse zone: service
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
damiensabau/nexus-lobby#25 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
sebastienros/jint#4282 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 76/100
pyrevitlabs/pyRevit#3792 ·
I maintainer di solito rispondono entro 1 giorno
-
clawsweeper:needs-product-decision clawsweeper:needs-security-review clawsweeper:no-new-fix-pr clawsweeper:source-repro impact:security impact:ux-friction issue-rating: 🦞 diamond lobster P2
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
openclaw/openclaw-windows-node#1763 · 1 commento · 1 reazione ·
I maintainer di solito rispondono entro 1 giorno