Pular para o conteúdo principal

pattern_variable_assignment_inside_guard

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

Pattern variables can't be assigned inside the guard of the enclosing guarded pattern.

Descrição

#

O analisador emite este diagnóstico quando uma variável de padrão recebe um valor dentro de uma cláusula de guarda (when).

Exemplo

#

O código a seguir produz este diagnóstico porque a variável a recebe um valor dentro da cláusula de guarda:

dart
void f(int x) {
  if (x case var a when (a = 1) > 0) {
    print(a);
  }
}

Correções comuns

#

Se houver um valor que você precisa capturar, então atribua-o a outra variável:

dart
void f(int x) {
  var b = 0;
  if (x case var a when (b = 1) > 0) {
    print(a + b);
  }
}

Se não houver um valor que você precisa capturar, então remova a atribuição:

dart
void f(int x) {
  if (x case var a when 1 > 0) {
    print(a);
  }
}

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