invalid_type_argument_in_const_literal
定数リストリテラルでは、'{0}' のような型引数に型パラメーターを使用することはできません。
定数マップリテラルでは、'{0}' のような型引数に型パラメーターを使用することはできません。
定数セットリテラルでは、'{0}' のような型引数に型パラメーターを使用することはできません。
説明
#この診断は、const でプレフィックスされたリスト、マップ、またはセットリテラルで型引数に型パラメーターが使用されている場合に、アナライザーによって生成されます。これは、型パラメーターの値(実行時に使用される実際の型)がコンパイル時に不明である可能性があるため、許可されていません。
例
#以下のコードは、定数リストの作成時に型パラメーター T が型引数として使用されているため、この診断を生成します。
dart
List<T> newList<T>() => const <T>[];以下のコードは、定数マップの作成時に型パラメーター T が型引数として使用されているため、この診断を生成します。
dart
Map<String, T> newSet<T>() => const <String, T>{};以下のコードは、定数セットの作成時に型パラメーター T が型引数として使用されているため、この診断を生成します。
dart
Set<T> newSet<T>() => const <T>{};一般的な修正
#型パラメーターとして使用される型がコンパイル時に判明している場合は、型パラメーターを削除してください。
dart
List<int> newList() => const <int>[];型パラメーターとして使用される型が実行時まで判明しない場合は、const キーワードを削除してください。
dart
List<T> newList<T>() => <T>[];