library test;
//
// Problems in library:
//
// pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr1.dart:9:15: Error: A comparison expression can't be an operand of another comparison expression.
// Try putting parentheses around one of the comparisons.
// var v = (f<int>)(() {
//               ^
//
// pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr1.dart:9:16: Error: Expected an identifier, but got ')'.
// var v = (f<int>)(() {
//                ^
//
import self as self;
import "dart:core" as core;

static field dynamic v;
static method f<T extends core::Object* = dynamic>(() →* self::f::T* g) → core::List<self::f::T*>*
  ;
static method main() → dynamic
  ;
