メインコンテンツにスキップ

const_with_type_parameters

定数コンストラクタのティアオフでは、型パラメータを型引数として使用できません。

定数生成では、型パラメータを型引数として使用できません。

定数関数のティアオフでは、型パラメータを型引数として使用できません。

説明

#

この診断は、コンストラクタの const 呼び出しで型パラメータが型引数として使用されている場合に、アナライザーによって生成されます。これは、実行時に使用される実際の型である型パラメータの値がコンパイル時に不明であるため、許可されていません。

#

以下のコードは、定数を生成する際に型パラメータ T が型引数として使用されているため、この診断を生成します。

dart
class C<T> {
  const C();
}

C<T> newC<T>() => const C<T>();

一般的な修正

#

型パラメータに使用される型がコンパイル時に判別できる場合は、型パラメータの使用を削除してください。

dart
class C<T> {
  const C();
}

C<int> newC() => const C<int>();

型パラメータに使用される型が実行時まで判別できない場合は、const キーワードを削除してください。

dart
class C<T> {
  const C();
}

C<T> newC<T>() => C<T>();