Pular para o conteúdo principal

mixin_class_declares_non_trivial_generative_constructor

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

The mixin class '{0}' can't declare a non-trivial generative constructor.

Descrição

#

O analisador emite este diagnóstico quando uma mixin class declara um construtor generativo não trivial. Construtores triviais são permitidos, mas os não triviais (com parâmetros, corpo ou inicializadores) não são.

Exemplo

#

O código a seguir gera este diagnóstico porque a mixin class A define um construtor generativo com um inicializador:

dart
mixin class A {
  A() : assert(true);
}

Correções comuns

#

Se você puder remover o inicializador, o corpo ou os parâmetros do construtor para torná-lo trivial, então faça isso:

dart
mixin class A {
  A(); // Trivial constructor
}

Se o construtor não puder se tornar trivial, então converta a mixin class em uma class comum e estenda ou implemente-a, ou separe a capacidade de mixin:

dart
class A {
  A() : assert(true);
}
​
// A separate mixin for mixing in behavior
mixin class AM {}

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