library /*isNonNullableByDefault*/;
//
// Problems in library:
//
// pkg/front_end/testcases/nnbd/issue42434_2.dart:5:21: Error: Type argument 'X/*1*/' doesn't conform to the bound 'B<X/*2*/>' of the type variable 'X' on 'A'.
//  - 'X/*1*/' is from 'pkg/front_end/testcases/nnbd/issue42434_2.dart'.
//  - 'B' is from 'pkg/front_end/testcases/nnbd/issue42434_2.dart'.
//  - 'X/*2*/' is from 'pkg/front_end/testcases/nnbd/issue42434_2.dart'.
// Try changing type arguments so that they conform to the bounds.
// typedef AAlias<X> = Function<X1 extends A<X>> ();
//                     ^
// pkg/front_end/testcases/nnbd/issue42434_2.dart:7:11: Context: This is the type variable whose bound isn't conformed to.
// typedef A<X extends B<X>> = Function();
//           ^
//
import self as self;
import "dart:core" as core;

typedef AAlias<unrelated X extends core::Object? = dynamic> = <X1 extends () → dynamic = dynamic>() → dynamic;
typedef A<unrelated X extends self::B<X> = self::B<dynamic>> = () → dynamic;
class B<X extends core::Object? = dynamic> extends core::Object {
  synthetic constructor •() → self::B<self::B::X%>
    : super core::Object::•()
    ;
}
static method main() → dynamic {}
