blob: 7bf946559b57b91dd946765ba3b989c6214bb59a [file] [log] [blame]
library;
//
// Problems in library:
//
// pkg/front_end/testcases/general/cyclic_typedef.dart:8:9: Error: Generic type 'F2' can't be used without type arguments in the bounds of its own type variables.
// Try providing type arguments to 'F2' here.
// typedef F2 = void Function<X extends F2>();
// ^^
//
// pkg/front_end/testcases/general/cyclic_typedef.dart:14:9: Error: The typedef 'F5' has a reference to itself.
// typedef F5<X extends F5<Never>> = Object;
// ^^
//
// pkg/front_end/testcases/general/cyclic_typedef.dart:5:9: Error: The typedef 'F1' has a reference to itself.
// typedef F1<X> = List<G1<X>>;
// ^^
//
// pkg/front_end/testcases/general/cyclic_typedef.dart:6:9: Error: The typedef 'G1' has a reference to itself.
// typedef G1<Y> = F1<Y>;
// ^^
//
// pkg/front_end/testcases/general/cyclic_typedef.dart:10:9: Error: The typedef 'F3' has a reference to itself.
// typedef F3 = F3;
// ^^
//
// pkg/front_end/testcases/general/cyclic_typedef.dart:12:9: Error: The typedef 'F4' has a reference to itself.
// typedef F4 = List<F4>;
// ^^
//
import self as self;
import "dart:core" as core;
typedef F1<unrelated X extends core::Object? = dynamic> = invalid-type;
typedef G1<unrelated Y extends core::Object? = dynamic> = invalid-type;
typedef F2 = <X extends core::Object? = dynamic>() void;
typedef F3 = invalid-type;
typedef F4 = invalid-type;
typedef F5<unrelated X extends invalid-type> = invalid-type;