panic: Unhandled case in Node.MemberList: KindVariableDeclarationList on merged namespace/enum element access
维护者通常 1 天内回复
还没有人认领这个 Issue。
评估
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 新手友好度
- 52/100
- Issue 类型
- 缺陷
- 描述清晰度
- 基本清楚
- 活跃度
- 活跃
- 技术栈
- go, typescript
- 领域
- compilers
调研方向
Start by comparing the compiler path that handles merged namespace and enum element access with the related #64668 fix in PR #64746. Reproduce with the provided Foo namespace and enum example, then trace how Node.MemberList handles KindVariableDeclarationList. Done means the compiler no longer panics and reports a type error or handles the case gracefully.
由索引模型根据 Issue 内容生成。
描述
🔎 Search Terms
panic Unhandled case Node.MemberList KindVariableDeclarationList merged namespace enum element access
🕗 Version & Regression Information
This changed between versions 6.0.3 and 7.0.2
⏯ Playground Link
No response
💻 Code
namespace Foo { export const BAR = 42; }
enum Foo { BAZ = Foo["BAR"] }
🙁 Actual behavior
tsc panics with:
panic: Unhandled case in Node.MemberList: KindVariableDeclarationList [recovered, repanicked]
The compiler crashes instead of emitting a type error or handling gracefully.
🙂 Expected behavior
tsc should emit a type error (e.g. TS2304 or similar) or
handle the merged namespace/enum case gracefully without crashing.
TypeScript 5.x handles this without panicking.
Additional information about the issue
This is a variant of #64668 (KindModuleBlock panic) but triggered
by export const instead of export class in the namespace.
The fix PR #64746 targets KindModuleBlock it likely does not
cover KindVariableDeclarationList.
Tested on:
- TypeScript 7.0.2 → panics (KindVariableDeclarationList)
- TypeScript 5.8.3 → throws JS TypeError (no panic, no crash)
- 主要语言
- Go
- 星标
- 112k
- 派生
- 15.4k
- 平均合并
- 2 天 21 小时
- 30 天内合并 PR
- 126
环境准备
在浏览器里用你自己的 GitHub 账号启动这个项目的开发容器。
- 没有 Dockerfile 或 Docker Compose 文件
- 有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
microsoft/TypeScript 的其他 Issue
-
Native API: formatDiagnosticsWithColorAndContext drops related information without a file location未关闭
难度 2/5 1-3 小时 新手友好度 75/100
microsoft/TypeScript#65087 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 75/100
microsoft/TypeScript#65083 ·
维护者通常 1 天内回复
-
TS7 LSP: documentHighlight returns nothing when the file path contains '@'可能重新可做 关联的 PR 已关闭且未合并。 未关闭Bug
难度 2/5 1-3 小时 新手友好度 78/100
microsoft/TypeScript#64758 ·
维护者通常 1 天内回复
-
Language server (tsc --lsp) exits with code 1 after `shutdown` and `exit`可能已有人在做 @rajnish-verma-22172 于 12 天前认领。 未关闭Bug
难度 2/5 1-3 小时 新手友好度 76/100
microsoft/TypeScript#64742 · 1 条评论 ·
维护者通常 1 天内回复
-
Class names `eval` and `arguments` are not reported as invalid strict mode bindings可能已有人在做 @dmety 于 25 天前认领。 未关闭Bug
难度 2/5 1-3 小时 新手友好度 68/100
microsoft/TypeScript#64661 ·
维护者通常 1 天内回复
查看 microsoft/TypeScript 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 72/100
limitlessprojects/Go-Hybrid#3342 ·
维护者通常 1 天内回复
-
status/ready type/bug
难度 2/5 1-3 小时 新手友好度 65/100
buildpacks/pack#2733 ·
维护者通常 1 天内回复
-
bug
难度 2/5 1-3 小时 新手友好度 72/100
-
kind/bug needs-priority needs-triage
难度 2/5 1-3 小时 新手友好度 72/100
konveyor/tackle2-hub#1166 · 1 条评论 ·
维护者通常 4 天内回复
-
难度 2/5 1-3 小时 新手友好度 62/100
router-for-me/CLIProxyAPI#7209 ·
维护者通常 1 天内回复