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:
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:
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:
void f(int x) {
if (x case var a when 1 > 0) {
print(a);
}
}
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ê.