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%> x) → self::C<self::C::T%>
    : super core::Object::•()
    ;
}
static method main() → dynamic {
  core::bool b = false;
  core::List<core::int> l1 = core::_GrowableList::_literal1<core::int>(1);
  core::List<core::int> l2 = core::_GrowableList::_literal1<core::int>(2);
  self::C<core::int> x = new self::C::•<core::int>(l1);
  self::C<core::int> y = new self::C::•<core::int>(l2);
  self::C<core::int> z = new self::C::•<core::int>(b ?{core::List<core::int>} l1 : l2);
}
