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

class C extends core::Object {
  synthetic constructor •() → self::C
    : 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(){() → self::C::f::T%}];
}
static method main() → dynamic {
  core::List<core::int> v = new self::C::•().{self::C::f}<core::int>(() → core::int {
    return 1;
  }){(() → core::int) → core::List<core::int>};
}
