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

class C<T extends core::Object> 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]);
}
