Pular para o conteúdo principal

type_annotation_deferred_class

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

The deferred type '{0}' can't be used in a declaration, cast, or type test.

Descrição

#

O analisador produz este diagnóstico quando a anotação de tipo está em uma declaração de variável, ou quando o tipo usado em um cast (as) ou em um teste de tipo (is) é um tipo declarado em uma biblioteca importada usando um import deferred. Esses tipos precisam estar disponíveis em tempo de compilação, mas não estão.

Para mais informações, veja Carregando uma biblioteca de forma preguiçosa.

Exemplo

#

O código a seguir produz este diagnóstico porque o tipo do parâmetro f é importado de uma biblioteca deferred:

dart
import 'dart:io' deferred as io;
​
void f(io.File f) {}

Correções comuns

#

Se você precisa referenciar o tipo importado, então remova a palavra-chave deferred:

dart
import 'dart:io' as io;
​
void f(io.File f) {}

Se o import precisa ser deferred e existe outro tipo apropriado, então use esse tipo no lugar do tipo da biblioteca deferred.

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