library test /*isNonNullableByDefault*/;
//
// Problems in library:
//
// pkg/front_end/testcases/inference/block_bodied_lambdas_void_context2.dart:11:32: Error: Can't return a value from a void function.
//     return i /*@target=num.+*/ + 1;
//                                ^
//
import self as self;
import "dart:core" as core;

static method f(core::List<core::int> o) → dynamic {
  o.{core::Iterable::forEach}((core::int i) → void {
    return invalid-expression "pkg/front_end/testcases/inference/block_bodied_lambdas_void_context2.dart:11:32: Error: Can't return a value from a void function.
    return i /*@target=num.+*/ + 1;
                               ^" in i.{core::num::+}(1){(core::num) → core::int};
  }){((core::int) → void) → void};
}
static method main() → dynamic {}
