blob: 3cebc8ba3a91a2732e752c3b39596d6b09d15ba5 [file] [log] [blame]
library /*isNonNullableByDefault*/;
//
// Problems in library:
//
// pkg/front_end/testcases/general/bounds_check_in_typedef.dart:7:40: Error: Type argument 'Y' doesn't conform to the bound 'String' of the type variable 'X' on 'A'.
// Try changing type arguments so that they conform to the bounds.
// typedef F = Function<Z extends A<Y>>() Function<Y extends num>();
// ^
// pkg/front_end/testcases/general/bounds_check_in_typedef.dart:5:9: Context: This is the type variable whose bound isn't conformed to.
// class A<X extends String> {}
// ^
//
// pkg/front_end/testcases/general/bounds_check_in_typedef.dart:8:18: Error: Type argument 'Y' doesn't conform to the bound 'String' of the type variable 'X' on 'A'.
// Try changing type arguments so that they conform to the bounds.
// typedef G = void Function<Y extends num>(Function<Z extends A<Y>>());
// ^
// pkg/front_end/testcases/general/bounds_check_in_typedef.dart:5:9: Context: This is the type variable whose bound isn't conformed to.
// class A<X extends String> {}
// ^
//
import self as self;
import "dart:core" as core;
typedef F = <Y extends core::num = dynamic>() <Z extends self::A<Y> = dynamic>() dynamic;
typedef G = <Y extends core::num = dynamic>(<Z extends self::A<Y> = dynamic>() dynamic) void;
class A<X extends core::String> extends core::Object {
synthetic constructor •() self::A<self::A::X>
: super core::Object::•()
;
}
static method main() dynamic {}