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

class A<X extends core::Object* = dynamic> extends core::Object {
  synthetic constructor •() → self::A<self::A::X*>*
    ;
  method bar<generic-covariant-impl Y extends self::A::X* = self::A::X*>() → dynamic
    ;
}
class B extends core::Object {
  synthetic constructor •() → self::B*
    ;
  static method foo<Y extends core::Object* = core::Object*>() → self::A<self::B::foo::Y*>*
    ;
}
static method baz() → dynamic
  ;
static method main() → dynamic
  ;
