// Formatted problems:
//
// pkg/front_end/testcases/function_type_default_value.dart:5:19: Error: Expected an identifier, but got ':'.
// void Function({obj: Object}) x;
//                   ^
//
// pkg/front_end/testcases/function_type_default_value.dart:5:19: Error: Can't have a default value in a function type.
// void Function({obj: Object}) x;
//                   ^
//
// pkg/front_end/testcases/function_type_default_value.dart:5:16: Warning: 'obj' isn't a type.
// void Function({obj: Object}) x;
//                ^^^

// Unhandled errors:
//
// pkg/front_end/testcases/function_type_default_value.dart:5:19: Error: Expected an identifier, but got ':'.
// void Function({obj: Object}) x;
//                   ^
//
// pkg/front_end/testcases/function_type_default_value.dart:5:19: Error: Can't have a default value in a function type.
// void Function({obj: Object}) x;
//                   ^

library;
import self as self;

static field () → void x;
static method main() → dynamic {}
