return_of_invalid_type_from_closure
The returned type '{0}' isn't returnable from a '{1}' function, as required by the closure's context.
Description
#The analyzer produces this diagnostic when the static type of a returned expression isn't assignable to the return type that the closure is required to have.
Example
#The following code produces this diagnostic because f
is defined to be a function that returns a String
, but the closure assigned to it returns an int
:
String Function(String) f = (s) => 3;
Common fixes
#If the return type is correct, then replace the returned value with a value of the correct type, possibly by converting the existing value:
String Function(String) f = (s) => 3.toString();
Unless stated otherwise, the documentation on this site reflects Dart 3.8.1. Page last updated on 2025-05-08. View source or report an issue.