must_ be_ immutable
Detalhes sobre o diagnóstico 'must_be_immutable' produzido pelo analisador do Dart.
This class (or a class that this class inherits from) is marked as '@immutable', but one or more of its instance fields aren't final: {0}
Descrição
#
O analisador emite este diagnóstico quando uma classe imutável define um ou mais
campos de instância que não são final. Uma classe é imutável se estiver marcada
como tal usando a anotação immutable
ou se for subclasse de
uma classe imutável.
Exemplo
#O código a seguir gera este diagnóstico porque o campo x não é final:
import 'package:meta/meta.dart';
@immutable
class C {
int x;
C(this.x);
}
Correções comuns
#
Se as instâncias da classe devem ser imutáveis, então adicione a palavra-chave
final a todas as declarações de campos que não são final:
import 'package:meta/meta.dart';
@immutable
class C {
final int x;
const C(this.x);
}
Se as instâncias da classe devem ser mutáveis, então remova a anotação, ou escolha outra superclasse caso a anotação seja herdada:
class C {
int x;
C(this.x);
}
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ê.