Skip to content

Commit

Permalink
eturn valid type from Future.catchError. (#469)
Browse files Browse the repository at this point in the history
An upcoming feature to the Dart analyzer [0] will report Future.catchError [1]
`onError` handlers which return values of invalid type. Currently this is not
reported because the `onError` handler function type cannot be accurately
expressed. An `onError` handler for `Future<T>.catchError` must be either
`FutureOr<T> Function(dynamic)` or `FutureOr<T> Function(dynamic, StackTrace)`.
In either case, the return type of the function is `FutureOr<T>`.

This CL corrects `onError` handler(s) to return a value of a valid type.

[0]: dart-lang/sdk#35825
[1]: https://api.dart.dev/dev/2.12.0-149.0.dev/dart-async/Future/catchError.html
  • Loading branch information
srawlins authored Dec 22, 2020
1 parent 5319347 commit f3d4f00
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion third_party/lib/src/picture_provider.dart
Original file line number Diff line number Diff line change
Expand Up @@ -601,7 +601,7 @@ class FilePicture extends PictureProvider<FilePicture> {
key.toString(),
).catchError((Object error, StackTrace stack) async {
onError(error, stack);
return null;
return Future<PictureInfo>.error(error, stack);
});
}
return decoder(data, colorFilter, key.toString());
Expand Down

0 comments on commit f3d4f00

Please sign in to comment.