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

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