跳到主要内容

sdk_version_set_literal

Set 字面量直到版本 2.2 才支持,但此代码需要能够在更早的版本上运行。

描述

#

当在 SDK 约束的下限小于 2.2.0 的代码中找到 Set 字面量时,分析器会产生此诊断。Set 字面量在早期版本中不受支持,因此此代码将无法在早期版本的 SDK 上运行。

示例

#

以下是一个 pubspec 文件示例,其中定义了 SDK 约束,且其下限小于 2.2.0

yaml
environment:
  sdk: '>=2.1.0 <2.4.0'

在该 pubspec 文件所在的包中,以下代码会产生此诊断:

dart
var s = <int>{};

常见修复方法

#

如果您不需要支持早期版本的 SDK,则可以提高 SDK 约束以允许使用此语法。

yaml
environment:
  sdk: '>=2.2.0 <2.4.0'

如果您确实需要支持早期版本的 SDK,则将 Set 字面量替换为创建 Set 的代码,但不要使用字面量形式。

dart
var s = new Set<int>();