duplicate_pattern_field
フィールド「{0}」は、このパターンで既に一致しています。
説明
#レコードパターンが同じフィールドに複数回一致する場合、またはオブジェクトパターンが同じゲッターに複数回一致する場合、アナライザーはこの診断を生成します。
例
#以下のコードは、同じレコードパターンでレコードフィールドaが2回一致するため、この診断を生成します。
dart
void f(({int a, int b}) r) {
switch (r) {
case (a: 1, a: 2):
return;
}
}以下のコードは、同じオブジェクトパターンでゲッターfが2回一致するため、この診断を生成します。
dart
void f(Object o) {
switch (o) {
case C(f: 1, f: 2):
return;
}
}
class C {
int? f;
}一般的な修正
#パターンが重複フィールドの複数の値に一致する必要がある場合は、論理和パターンを使用してください。
dart
void f(({int a, int b}) r) {
switch (r) {
case (a: 1, b: _) || (a: 2, b: _):
break;
}
}パターンが複数のフィールドに一致する必要がある場合は、フィールドのいずれかの名前を変更してください。
dart
void f(({int a, int b}) r) {
switch (r) {
case (a: 1, b: 2):
return;
}
}