Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Return valid type from Future.catchError. #469

Merged
merged 1 commit into from
Dec 22, 2020

Conversation

srawlins
Copy link
Contributor

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.

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
@dnfield
Copy link
Owner

dnfield commented Dec 22, 2020

This is yet another instance of coveralls failing. I really need to figure out what's going on there.

Stable failures are expected, since this this is using features not supported on stable.

Thanks for the fix!

@dnfield dnfield merged commit 272f992 into dnfield:master Dec 22, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants