Undetected unreachable code

未关闭
#35,835 3 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
3/5
预计耗时
1-2 天
新手友好度
38/100
Issue 类型
缺陷
描述清晰度
基本清楚
活跃度
停滞
技术栈
typescript
领域
compilers

调研方向

从使用 TypeScript 3.7.x-dev.20191221 或当前 nightly build 的 Playground 重现开始,并比较重复 if 语句和 while 循环分支的诊断结果。跟踪这些示例现有的不可达代码诊断行为,并添加覆盖,表明标记的语句会被报告,同时不改变有效的控制流诊断。

由索引模型根据 Issue 内容生成。

描述

In Discussion Suggestion

These are obvious mistakes.

TypeScript Version: 3.7.x-dev.20191221

Search Terms:

Code

declare const a: boolean;
(() => {
    if (a) return;
    if (a) {
        return; // Unreachable
    }
});
while (1) {
    if (a) break;
    if (a) {
        break; // Unreachable
    }
}

Expected behavior:
Detect unreachable code.
Actual behavior:
not detected.
Playground Link: http://www.typescriptlang.org/play/index.html?ts=3.8.0-dev.20191221#code/CYUwxgNghgTiAEYD2A7AzgF3lAXPARkkhCFCgNwCwAUABS0CU8AvAHzwDeN8P8AlgDN4tKEzgYArjArdeg4aM6zevcVIrwA9JvgBVFHChgAFlHwll8AL40rDKtQDuxviWEBGJl2or5IpviGANYOvkL+Sj4qvIGkIVo6+oYmZhZRPDbUVkA

Related Issues:

主要语言
Go
星标
111k
派生
14.4k
平均合并
1 天 19 小时
30 天内合并 PR
117

贡献指南

打开贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

microsoft/TypeScript 的其他 Issue

查看 microsoft/TypeScript 的全部 Issue

相似的 Issue

更多 Go Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。