refutable_pattern_in_irrefutable_context
不変パターンではないパターンは、不変のコンテキストでは使用できません。
説明
#アナライザーは、不変パターンではないパターンが、不変パターンのみが許可されるコンテキストで使用されている場合に、この診断を生成します。
無効な不変パターンではないパターンは次のとおりです。
- logical-or
- relational
- null-check
- constant
チェックされるコンテキストは次のとおりです。
- パターンベースの変数宣言
- パターンベースのforループ
- 左辺にパターンがある代入
例
#以下のコードは、不変パターンではないパターンであるnull-checkパターンが、不変パターンではないパターンを許可しないパターンベースの変数宣言にあるため、この診断を生成します。
dart
void f(int? x) {
var (_?) = x;
}一般的な修正
#不変のコンテキストで不変パターンではないパターンを使用しないようにコードを書き直してください。