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

typedef F<T extends core::Object = dynamic> = () → T;
static final field core::Map<core::String, () → core::int> x = <core::String, () → core::int>{};
static method main() → dynamic {}
