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) → void
    : self::C::x = x, super core::Object::•()
    ;
}
class D<T extends core::num = dynamic> extends core::Object {
  const constructor •() → void
    : super core::Object::•()
    ;
}
static method main() → void {
  const dynamic c = const self::C::•<dynamic>(0);
  self::C<core::int> c2 = c;
  const self::D<core::int> d = const self::D::•<dynamic>();
}
