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

static method main() → dynamic {
  core::List<core::int> v = self::f<core::int>(() → core::int {
    return 1;
  });
}
static method f<T extends core::Object = dynamic>(() → self::f::T g) → core::List<self::f::T>
  return <self::f::T>[g.call()];
