equal_ keys_ in_ map_ pattern
Detalhes sobre o diagnóstico 'equal_keys_in_map_pattern' produzido pelo analisador do Dart.
Two keys in a map pattern can't be equal.
Descrição
#O analisador emite este diagnóstico quando um padrão de mapa contém mais de uma chave com o mesmo nome. A mesma chave não pode ser comparada duas vezes.
Exemplo
#
O código a seguir gera este diagnóstico porque a chave 'a' aparece
duas vezes:
void f(Map<String, int> x) {
if (x case {'a': 1, 'a': 2}) {}
}
Correções comuns
#Se você está tentando comparar duas chaves diferentes, então altere uma das chaves no padrão:
void f(Map<String, int> x) {
if (x case {'a': 1, 'b': 2}) {}
}
Se você está tentando comparar a mesma chave, mas permitir que qualquer um de vários padrões corresponda, então use um padrão de OU lógico:
void f(Map<String, int> x) {
if (x case {'a': 1 || 2}) {}
}
Salvo indicação em contrário, a documentação neste site reflete Dart 3.13.7. Relatar um problema.
Encontrou essa página sem tradução ou que precisa de correção? Abra uma issue e nos ajude a manter esse site em PT-BR para ajudar pessoas como você.