Pular para o conteúdo principal

refutable_pattern_in_irrefutable_context

Detalhes sobre o diagnóstico 'refutable_pattern_in_irrefutable_context' produzido pelo analisador do Dart.

Refutable patterns can't be used in an irrefutable context.

Descrição

#

O analisador emite este diagnóstico quando um padrão refutávelRefutable patternUm padrão que pode ser testado contra um valor. Saiba mais é usado em um contexto onde só é permitido um padrão irrefutávelIrrefutable patternUm padrão que sempre casa. Saiba mais.

Os padrões refutáveis que não são permitidos são:

  • logical-or
  • relational
  • null-check
  • constant

Os contextos verificados são:

  • declarações de variáveis baseadas em padrões
  • laços for baseados em padrões
  • atribuições com um padrão no lado esquerdo

Exemplo

#

O código a seguir gera este diagnóstico porque o padrão null-check, que é um padrão refutável, está em uma declaração de variável baseada em padrão, que não permite padrões refutáveis:

dart
void f(int? x) {
  var (_?) = x;
}

Correções comuns

#

Reescreva o código para não usar um padrão refutável em um contexto irrefutável.

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ê.