sdk_version_as_expression_in_const_context
バージョン2.3.2まで、`as`式を定数式で使用することはサポートされていませんでしたが、このコードは以前のバージョンでも実行できる必要があります。
説明
#アナライザーは、SDK制約の低位境界が2.3.2未満であるコードで、定数コンテキスト内のas式が見つかった場合に、この診断を生成します。定数コンテキストでのas式の使用は、以前のバージョンではサポートされていなかったため、このコードはSDKの以前のバージョンでは実行できません。
例
#2.3.2未満の低位境界を持つSDK制約を定義する`pubspec.yaml`の例を次に示します。
yaml
environment:
sdk: '>=2.1.0 <2.4.0'その`pubspec.yaml`を持つパッケージでは、次のようなコードがこの診断を生成します。
dart
const num n = 3;
const int i = n as int;一般的な修正
#古いバージョンのSDKをサポートする必要がない場合は、SDK制約を増やして、式を使用できるようにすることができます。
yaml
environment:
sdk: '>=2.3.2 <2.4.0'古いバージョンのSDKをサポートする必要がある場合は、as式を使用しないようにコードを書き直すか、as式が定数コンテキストにないようにコードを変更してください。
dart
num x = 3;
int y = x as int;