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

class C extends core::Object {
  synthetic constructor •() → void
    : super core::Object::•()
    ;
  method f<T extends core::Object = dynamic>(() → self::C::f::T g) → core::List<self::C::f::T>
    return <self::C::f::T>[g.call()];
}
static method main() → dynamic {
  dynamic v = new self::C::•().f<core::int>(() → dynamic {
    return 1;
  });
}
