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

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