library test /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;

class C<T extends core::Object? = dynamic> extends core::Object {
  constructor •(core::List<self::C::T%> list) → self::C<self::C::T%>
    : super core::Object::•()
    ;
}
static method main() → dynamic {
  self::C<core::int> x = new self::C::•<core::int>(core::_GrowableList::_literal1<core::int>(123));
  self::C<core::int> y = x;
  self::C<dynamic> a = new self::C::•<dynamic>(core::_GrowableList::_literal1<dynamic>(123));
  self::C<core::Object> b = new self::C::•<core::Object>(core::_GrowableList::_literal1<core::Object>(123));
}
