library test /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;

static field 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 core::_GrowableList::_literal1<self::f::T%>(g(){() → self::f::T%});
static method main() → dynamic {
  self::v;
}
