equal_keys_in_map_pattern 진단: 맵 패턴의 키가 같을 때

equal_keys_in_map_pattern 진단: 맵 패턴의 키가 같을 때

분석기가 내보내는 진단에는 이름이 있어요. equal_keys_in_map_pattern맵 패턴(map pattern) 안에 같은 이름의 키가 두 개 이상 있을 때 Dart 분석기가 알려주는 진단이에요. 같은 키는 두 번 매칭될 수 없어요.

출처: equal_keys_in_map_pattern

본문

설명

분석기는 맵 패턴이 같은 이름의 키를 두 개 이상 담고 있을 때 이 진단을 만들어요. 같은 키는 두 번 매칭될 수 없어요.

예시

다음 코드는 키 'a'가 두 번 나타나서 이 진단이 나와요.

void f(Map<String, int> x) {
  if (x case {'a': 1, 'a': 2}) {}
}

흔한 해결 방법

서로 다른 두 키를 매칭하려는 거라면 패턴의 키 하나를 바꿔요.

void f(Map<String, int> x) {
  if (x case {'a': 1, 'b': 2}) {}
}

같은 키를 매칭하되 여러 패턴 중 아무거나 하나만 매칭되게 하려면 논리합(logical-or) 패턴을 써요.

void f(Map<String, int> x) {
  if (x case {'a': 1 || 2}) {}
}