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

import "package:expect/expect.dart";

class B extends core::Object {
  synthetic constructor •() → self::B*
    ;
}
class X<T extends self::B* = self::B*> extends core::Object {
  synthetic constructor •() → self::X<self::X::T*>*
    ;
}
class Y extends self::X<self::B*> {
  synthetic constructor •() → self::Y*
    ;
}
static method main() → void
  ;
