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 {}
