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

class A<T extends core::Object* = dynamic> extends core::Object {
  generic-covariant-impl field self::A<self::A::T*>* f = new self::A::•<dynamic>();
  constructor •() → self::A<self::A::T*>*
    : super core::Object::•()
    ;
  static factory factory<T extends core::Object* = dynamic>() → self::A<self::A::factory::T*>*
    return new self::A::•<dynamic>();
  method m() → self::A<self::A::T*>*
    return new self::A::•<dynamic>();
}
static method main() → dynamic {}
