// Errors:
//
// pkg/front_end/testcases/regress/issue_31171.dart:8:1: Error: Expected a type, but got 'typedef'.
// typedef F = Map<String, dynamic> Function();
// ^^^^^^^
//
// pkg/front_end/testcases/regress/issue_31171.dart:8:1: Error: Expected ';' before this.
// typedef F = Map<String, dynamic> Function();
// ^^^^^^^
//
// pkg/front_end/testcases/regress/issue_31171.dart:7:11: Error: Can't create typedef from non-function type.
// typedef T = 
//           ^

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

typedef T = dynamic;
typedef F = () → core::Map<core::String, dynamic>;
static method main() → dynamic {}
