subtype_ of_ struct_ class
Detalhes sobre o diagnóstico 'subtype_of_struct_class' produzido pelo analisador do Dart.
The class '{0}' can't extend '{1}' because '{1}' is a subtype of 'Struct', 'Union', or 'AbiSpecificInteger'.
The class '{0}' can't implement '{1}' because '{1}' is a subtype of 'Struct', 'Union', or 'AbiSpecificInteger'.
The class '{0}' can't mix in '{1}' because '{1}' is a subtype of 'Struct', 'Union', or 'AbiSpecificInteger'.
Descrição
#
O analisador produz este diagnóstico quando uma classe estende, implementa ou mistura uma classe que estende
Struct ou Union. Classes só podem estender Struct ou Union
diretamente.
Para mais informações sobre FFI, veja Interoperabilidade com C usando dart:ffi.
Exemplo
#
O código a seguir produz este diagnóstico porque a classe C estende S, e S
estende Struct:
import 'dart:ffi';
final class S extends Struct {
external Pointer f;
}
final class C extends S {
external Pointer g;
}
Correções comuns
#
Se você está tentando definir um struct ou union que compartilha alguns campos declarados por outro struct ou union, então estenda diretamente
Struct ou Union e copie os campos compartilhados:
import 'dart:ffi';
final class S extends Struct {
external Pointer f;
}
final class C extends Struct {
external Pointer f;
external Pointer g;
}
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ê.