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 {
  core::List<core::int> v = new self::C::•().{self::C::f}<core::int>(() → core::int {
    return 1;
  });
}
