export_ legacy_ symbol
Detalhes sobre o diagnóstico 'export_legacy_symbol' produzido pelo analisador do Dart.
The symbol '{0}' is defined in a legacy library, and can't be re-exported from a library with null safety enabled.
Descrição
#O analisador emite este diagnóstico quando uma biblioteca que aderiu ao null safety exporta outra biblioteca, e a biblioteca exportada não aderiu ao null safety.
Exemplo
#Dada uma biblioteca que não aderiu ao null safety:
// @dart = 2.8
String s;
O código a seguir gera este diagnóstico porque está exportando símbolos de uma biblioteca que não aderiu ao null safety:
export 'optedOut.dart';
class C {}
Correções comuns
#Se você puder fazê-lo, migre a biblioteca exportada para que ela não precise ficar de fora do null safety:
String? s;
Se você não puder migrar a biblioteca, então remova o export:
class C {}
Se a biblioteca exportada (a que não aderiu ao null safety) exporta, por sua
vez, uma biblioteca que aderiu, então é válido que a sua biblioteca exporte
indiretamente os símbolos da biblioteca que aderiu. Você pode fazer isso
adicionando um combinador hide à diretiva de export na sua biblioteca, que
oculte todos os nomes declarados na biblioteca que não aderiu.
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ê.