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