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

import "dart:async";

class B<T extends core::Object? = dynamic> extends core::Object {
  synthetic constructor •() → self::B<self::B::T%>
    ;
  operator []=(covariant-by-class core::Map<core::int, self::B::T%> x, covariant-by-class core::List<self::B::T%> y) → void
    ;
}
class C<U extends core::Object? = dynamic> extends self::B<asy::Future<self::C::U%>> {
  synthetic constructor •() → self::C<self::C::U%>
    ;
  operator []=(covariant-by-class core::Object x, covariant-by-class core::Object y) → void
    ;
  method h() → void
    ;
}
static method f<T extends core::Object? = dynamic>() → self::f::T%
  ;
static method main() → dynamic
  ;
