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

class C<T extends core::Object* = dynamic> extends core::Object {
  generic-covariant-impl field self::C::T* t;
  constructor •(self::C::T* t) → self::C<self::C::T*>*
    : self::C::t = t, super core::Object::•()
    ;
  constructor named(core::List<self::C::T*>* t) → self::C<self::C::T*>*
    : this self::C::•(t.{core::List::[]}(0))
    ;
}
static method main() → dynamic {
  self::C<core::int*>* x = new self::C::named<core::int*>(<core::int*>[42]);
}
