// Formatted problems:
//
// pkg/front_end/testcases/regress/issue_29978.dart:8:13: Error: A function expression can't have a name.
//   foo(null, f() {});
//             ^

// Unhandled errors:
//
// pkg/front_end/testcases/regress/issue_29978.dart:8:13: Error: A function expression can't have a name.
//   foo(null, f() {});
//             ^

library;
import self as self;
import "dart:core" as core;

static method foo(dynamic a, dynamic b) → dynamic
  return null;
static method main() → dynamic {
  self::foo(null, let final () → core::Null f = () → core::Null {} in f);
}
