跳到主要内容

duplicate_rest_element_in_pattern

列表或映射模式中最多允许一个 rest 元素。

描述

#

当列表或映射模式中存在多个 rest 模式时,分析器会生成此诊断信息。rest 模式将捕获任何与其它子模式不匹配的值,这使得后续的 rest 模式变得不必要,因为已经没有剩余内容可供捕获。

示例

#

以下代码会生成此诊断信息,因为列表模式中有两个 rest 模式

dart
void f(List<int> x) {
  if (x case [0, ..., ...]) {}
}

常见修复方法

#

移除除一个之外的所有 rest 模式

dart
void f(List<int> x) {
  if (x case [0, ...]) {}
}