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

refutable_pattern_in_irrefutable_context

不変パターンではないパターンは、不変のコンテキストでは使用できません。

説明

#

アナライザーは、不変パターンではないパターンが、不変パターンのみが許可されるコンテキストで使用されている場合に、この診断を生成します。

無効な不変パターンではないパターンは次のとおりです。

  • logical-or
  • relational
  • null-check
  • constant

チェックされるコンテキストは次のとおりです。

  • パターンベースの変数宣言
  • パターンベースのforループ
  • 左辺にパターンがある代入

#

以下のコードは、不変パターンではないパターンであるnull-checkパターンが、不変パターンではないパターンを許可しないパターンベースの変数宣言にあるため、この診断を生成します。

dart
void f(int? x) {
  var (_?) = x;
}

一般的な修正

#

不変のコンテキストで不変パターンではないパターンを使用しないようにコードを書き直してください。