yield_of_invalid_type
yield 式で返される値の型 '{0}' は '{1}' に代入可能である必要があります。
'yield*' 式で推論される型 '{0}' は '{1}' に代入可能である必要があります。
説明
#この診断は、yield または yield* 式で生成されるオブジェクトの型が、ジェネレータ (sync* または async* でマークされた関数またはメソッド) から返される Iterable または Stream 型が返すオブジェクトの型と一致しない場合に、アナライザによって生成されます。
例
#次のコードは、getter zero が整数を返す Iterable を返すように宣言されていますが、yield が iterable から文字列を返しているため、この診断が発生します。
dart
Iterable<int> get zero sync* {
yield '0';
}一般的な修正
#関数の戻り値の型が正しい場合は、yield キーワードの後の式を修正して正しい型を返すようにしてください。
dart
Iterable<int> get zero sync* {
yield 0;
}yield の後の式が正しい場合は、関数を許可するように関数の戻り値を変更してください。
dart
Iterable<String> get zero sync* {
yield '0';
}