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

class A<T extends core::Object = dynamic> extends core::Object {
  synthetic constructor •() → void
    : super core::Object::•()
    ;
}
class B<T extends core::Object = dynamic> extends self::A<self::B::T> {
  synthetic constructor •() → void
    : super self::A::•()
    ;
}
static method main() → dynamic {
  core::num x;
  core::int x1 = x = 1;
  core::double x2 = x = 1.0;
  self::A<core::int> y;
  self::A<core::int> y1 = y = new self::A::•<core::int>();
  self::B<core::int> y2 = y = new self::B::•<core::int>();
}
