library /*isNonNullableByDefault*/;
//
// Problems in library:
//
// pkg/front_end/testcases/general/illegal_named_function_expression.dart:6:16: Error: A function expression can't have a name.
//   var x = void f<T>(T t) {};
//                ^
//
// pkg/front_end/testcases/general/illegal_named_function_expression.dart:8:14: Error: A function expression can't have a name.
//   print(void g<T>(T t) {});
//              ^
//
import self as self;
import "dart:core" as core;

static method test() → dynamic {
  invalid-type x = block {
    function f<T extends core::Object? = dynamic>(T% t) → void {}
  } =>invalid-expression "pkg/front_end/testcases/general/illegal_named_function_expression.dart:6:11: Error: A function expression can't have a name.
  var x = void f<T>(T t) {};
          ^";
  core::print(x.{core::Object::runtimeType}{core::Type});
  core::print( block {
    function g<T extends core::Object? = dynamic>(T% t) → void {}
  } =>invalid-expression "pkg/front_end/testcases/general/illegal_named_function_expression.dart:8:9: Error: A function expression can't have a name.
  print(void g<T>(T t) {});
        ^");
}
