blob: a82e9a9976c9b269368b81e87890273e06192072 [file] [log] [blame]
library;
//
// Problems in library:
//
// pkg/front_end/testcases/instantiate_to_bound/non_simple_variables_from_same.dart:12:9: Error: Generic type 'A' can't be used without type arguments in a type variable bound.
// Try providing type arguments to 'A' here.
// class B<TypeY extends A> {}
// ^^^^^
// pkg/front_end/testcases/instantiate_to_bound/non_simple_variables_from_same.dart:10:9: Context: Bound of this variable references variable 'TypeX' from the same declaration.
// class A<TypeX extends A<TypeX>> {}
// ^^^^^
//
// pkg/front_end/testcases/instantiate_to_bound/non_simple_variables_from_same.dart:14:13: Error: Generic type 'A' can't be used without type arguments in a type variable bound.
// Try providing type arguments to 'A' here.
// extension C<TypeY extends A> on int {}
// ^^^^^
// pkg/front_end/testcases/instantiate_to_bound/non_simple_variables_from_same.dart:10:9: Context: Bound of this variable references variable 'TypeX' from the same declaration.
// class A<TypeX extends A<TypeX>> {}
// ^^^^^
//
// pkg/front_end/testcases/instantiate_to_bound/non_simple_variables_from_same.dart:16:11: Error: Generic type 'A' can't be used without type arguments in a type variable bound.
// Try providing type arguments to 'A' here.
// typedef D<TypeY extends A> = int;
// ^^^^^
// pkg/front_end/testcases/instantiate_to_bound/non_simple_variables_from_same.dart:10:9: Context: Bound of this variable references variable 'TypeX' from the same declaration.
// class A<TypeX extends A<TypeX>> {}
// ^^^^^
//
import self as self;
import "dart:core" as core;
typedef D<unrelated TypeY extends self::A<self::A<dynamic>> = dynamic> = core::int;
class A<TypeX extends self::A<self::A::TypeX> = self::A<dynamic>> extends core::Object {
synthetic constructor •() self::A<self::A::TypeX>
: super core::Object::•()
;
}
class B<TypeY extends self::A<self::A<dynamic>> = dynamic> extends core::Object {
synthetic constructor •() self::B<self::B::TypeY>
: super core::Object::•()
;
}
extension C<TypeY extends self::A<self::A<dynamic>> = dynamic> on core::int {
}
static method main() dynamic {}
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/integers_patch.dart */ _#D#fromEnvironment#tearOff<unrelated TypeY extends self::A<self::A<dynamic>> = dynamic>(core::String name, {core::int defaultValue = #C1}) → core::int
return core::int::fromEnvironment(name, defaultValue: defaultValue);
constants {
#C1 = 0
}