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

class C<T extends core::Object* = dynamic> extends core::Object {
  constructor •(() →* self::C::T* x) → self::C<self::C::T*>*
    : super core::Object::•()
    ;
}
static field dynamic v = new self::C::•<core::int*>(() → dynamic {
  return 1;
});
static method main() → dynamic {
  self::v;
}
