library;
//
// Problems in library:
//
// pkg/front_end/testcases/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/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 main() → dynamic {
  dynamic x = let final <T extends core::Object = dynamic>(T) → void f = <T extends core::Object = dynamic>(T t) → void {} in f;
  core::print(x.runtimeType);
  core::print(let final <T extends core::Object = dynamic>(T) → void g = <T extends core::Object = dynamic>(T t) → void {} in g);
}
