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

不必要な‍セット‍リテラル

この式がセットリテラルで不必要に波括弧で囲まれています。

説明

#

voidFuture<void>、または FutureOr<void> の戻り値を持つ関数が式関数本体 (=>) を使用し、返される値が単一の要素を含むリテラルセットである場合に、アナライザーはこの診断を生成します。

言語では許可されていますが、void 関数から値を返すことは、呼び出し元で使用できないため役に立ちません。この特定のケースでは、戻り値は構文の誤解によるものであることがよくあります。波括弧は不要であり、削除できます。

#

次のコードは、g に渡されているクロージャの戻り値の型が void であるにもかかわらずセットを返しているため、この診断を生成します。

dart
void f() {
  g(() => {1});
}

void g(void Function() p) {}

一般的な修正

#

値の周囲の波括弧を削除してください

dart
void f() {
  g(() => 1);
}

void g(void Function() p) {}