// Errors:
//
// pkg/front_end/testcases/instantiate_to_bound/inference_super_bounded_rejected.dart:11:13: Error: Can't use a super-bounded type for instance creation. Got '#lib1::B<dart.core::Comparable<dynamic>>'.
// Specify a regular-bounded type instead of the super-bounded type. Note that the latter may be due to type inference.
// var y = new B();
//             ^

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

class B<T extends core::Comparable<self::B::T> = core::Comparable<dynamic>> extends core::Object {
  synthetic constructor •() → void
    : super core::Object::•()
    ;
}
static field self::B<core::Comparable<dynamic>> y = new self::B::•<core::Comparable<dynamic>>();
static method main() → dynamic {}
