文档 / 语言手册 / 警告编号
Edit

警告编号

你可以在构建配置 中或 使用 @@warning() 装饰器 配置 ReScript 编译器生成的警告。

#Description
1看起来很可疑的注释开启标记。
2看起来很可疑的注释结尾标记。
3已被废弃的特性
4脆弱的模式匹配:即使在匹配的某个变体类型上增加了额外的构造函数,匹配仍然完整。
5部分应用的函数:表达式的类型为函数且被忽略了。
6函数调用时省略忽略了标签
8部分匹配:部分模式未被匹配到
9记录模式中有未被匹配到的字段
10序列左侧的表达式的类型不为"unit"(也不为函数,请看5号警告)
11模式匹配中有冗余的分支(不会被用到的分支)
12模式匹配中有冗余的子模式
14字符串常量中有非法的转义字符
16不可擦除的可选参数。
20未被使用的函数参数
21不会返回的语句
23记录存在没有用到的“with”。
24不良的模块名:源代码的文件名不是有效的 ReScript 模块名。
26可疑的未使用变量:未使用的变量,与 "let" 或 "as" 绑定,并且不以下划线 ("_") 字符开头。
27无害的未使用变量:未与 "let" 或 "as" 绑定的未使用变量,并且不以下划线 ("_") 字符开头。
28通配符模式作为常量构造函数的参数给出。
29字符串常量中未转义的换行符(不可移植代码)。
30在两个相互递归的类型中定义了两个同名的标签或构造函数。
32未被使用的值声明。
33未被使用的 open 语句。
34未被使用的类型声明。
35未被使用的 for 循环下标
36Unused ancestor variable.
37未被使用的构造器。
38未被使用的扩展构造器
39未被使用的 rec 标记
43非可选标签作为可选标签应用。
44Open 语句了隐藏已定义的标识符。
45Open 语句隐藏已定义的标签或构造函数。
46环境变量错误。
47非法属性装载(payload)。
48可选参数被隐式消除。
49查找模块别名时缺少 cmi 文件。
50Unexpected documentation comment.
52脆弱的常量模式。
53属性不能出现在当前上下文中
54属性被使用了多于一次
56不可达的模式分支 (基于类型信息得出的结论)。
57在使用模式守卫(guard)的情况下使用了有歧义的 "or" 模式
59对不可变的值进行赋值
60未使用的模块声明
61不可拆箱的基本类型
62通用代数数据类型(GADT)存在类型约束
101未被使用的 "bs" 属性
102使用了多态比较(可能不安全)
103脆弱的 FFI 定义
104bs.deriving 的自定义警告信息
105external 的名称是从 val 中推断出来的,该名称在更改值名称时对重构是不安全的
106使用了未实现的基本类型
107整数字面值超出了类型 int 可表达的范围
108未解释的分隔符(用于 unicode)
109顶层表达式的类型为 unit