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> list) → void
    : super core::Object::•()
    ;
}
static method main() → dynamic {
  self::C<core::int> x = new self::C::•<core::int>(<core::int>[123]);
  self::C<core::int> y = x;
  self::C<dynamic> a = new self::C::•<dynamic>(<dynamic>[123]);
  self::C<core::Object> b = new self::C::•<core::Object>(<core::Object>[123]);
}
