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

equal_elements_in_set

セットリテラル内の2つの要素は等しくないはずです。

説明

#

アナライザーは、非定数セット内の要素が、同じセット内の前の要素と同じである場合にこの診断を生成します。2つの要素が同じ場合、2番目の値は無視されるため、両方の要素を含めることは無意味であり、バグを示している可能性があります。

#

次のコードは、要素1が2回出現するため、この診断を生成します。

dart
const a = 1;
const b = 1;
var s = <int>{a, b};

一般的な修正

#

両方の要素をセットに含める必要がある場合は、いずれかの要素を変更してください。

dart
const a = 1;
const b = 2;
var s = <int>{a, b};

いずれか一方の要素のみが必要な場合は、不要な方の要素を削除してください。

dart
const a = 1;
var s = <int>{a};

リテラルセットは要素の順序を保持するため、削除する要素の選択によって、イテレーターによって要素が返される順序に影響を与える可能性があることに注意してください。