跳到主要内容

non_bool_expression

assert 中的表达式必须是 'bool' 类型。

描述

#

当 assert 中的第一个表达式的类型不是 bool 时,分析器会产生此诊断。

示例

#

以下代码会产生此诊断,因为 p 的类型是 int,但需要一个 bool 类型

dart
void f(int p) {
  assert(p);
}

常见修复方法

#

更改表达式,使其具有 bool 类型

dart
void f(int p) {
  assert(p > 0);
}