shared_deferred_prefix
延迟导入的前缀不能用于其他导入指令。
描述
#当延迟导入中的前缀也被用作其他导入(无论是否延迟)的前缀时,分析器会产生此诊断。延迟导入中的前缀不能与其他导入共享,因为该前缀用于加载导入的库。
示例
#以下代码会产生此诊断,因为前缀 x
被用作延迟导入的前缀,同时也被用于另一个导入
dart
import 'dart:math' deferred as x;
import 'dart:convert' as x;
var y = x.json.encode(x.min(0, 1));
常见修复方法
#如果可以为延迟导入使用不同的名称,请这样做
dart
import 'dart:math' deferred as math;
import 'dart:convert' as x;
var y = x.json.encode(math.min(0, 1));
如果可以为其他导入使用不同的名称,请这样做
dart
import 'dart:math' deferred as x;
import 'dart:convert' as convert;
var y = convert.json.encode(x.min(0, 1));