メインコンテンツにスキップ

duplicate_variable_pattern

変数「{0}」は、このパターンで既に定義されています。

説明

#

アナライザーは、論理ANDパターンの一方の分岐で、同じパターンの以前の分岐で既に宣言されている変数を宣言した場合に、この診断を生成します。

#

以下のコードは、変数aが論理ANDパターンの両方の分岐で宣言されているため、この診断を生成します。

dart
void f((int, int) r) {
  if (r case (var a, 0) && (0, var a)) {
    print(a);
  }
}

一般的な修正

#

一致した値を複数の分岐でキャプチャする必要がある場合は、変数の名前をユニークに変更してください。

dart
void f((int, int) r) {
  if (r case (var a, 0) && (0, var b)) {
    print(a + b);
  }
}

いずれか一方の分岐で一致した値をキャプチャするだけでよい場合は、一方の分岐を除いて、すべての分岐から変数パターンを削除してください。

dart
void f((int, int) r) {
  if (r case (var a, 0) && (0, _)) {
    print(a);
  }
}