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

class C<T extends core::Object? = dynamic> extends core::Object {
  covariant-by-class 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){(core::int) → self::C::T%})
    ;
}
static method main() → dynamic {
  self::C<core::int> x = new self::C::named<core::int>(<core::int>[42]);
}
