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

class C<T extends core::num* = dynamic> extends core::Object {
  final field self::C::T* x;
  const constructor •(self::C::T* x) → self::C<self::C::T*>*
    : self::C::x = x, super core::Object::•()
    ;
}
class D<T extends core::num* = dynamic> extends core::Object {
  const constructor •() → self::D<self::D::T*>*
    : super core::Object::•()
    ;
}
static method main() → void {
  self::C<core::int*>* c2 = #C2;
}

constants  {
  #C1 = 0
  #C2 = self::C<dynamic> {x:#C1}
}
