blob: e0d70463b8ea3f2fdad9cbcfcc766c078ba8afe8 [file] [log] [blame]
library /*isNonNullableByDefault*/;
//
// Problems in library:
//
// pkg/front_end/testcases/general/bounds_variables.dart:20:3: Error: Type argument 'Object' doesn't conform to the bound 'Class<X>' of the type variable 'X' on 'F'.
// - 'Object' is from 'dart:core'.
// - 'Class' is from 'pkg/front_end/testcases/general/bounds_variables.dart'.
// Try changing type arguments so that they conform to the bounds.
// F<Object> local7a, local7b; // Error
// ^
// pkg/front_end/testcases/general/bounds_variables.dart:9:11: Context: This is the type variable whose bound isn't conformed to.
// typedef F<X extends Class<X>> = X;
// ^
//
// pkg/front_end/testcases/general/bounds_variables.dart:21:3: Error: Type argument 'int' doesn't conform to the bound 'Class<X>' of the type variable 'X' on 'F'.
// - 'Class' is from 'pkg/front_end/testcases/general/bounds_variables.dart'.
// Try changing type arguments so that they conform to the bounds.
// F<int> local8a, local8b; // Error
// ^
// pkg/front_end/testcases/general/bounds_variables.dart:9:11: Context: This is the type variable whose bound isn't conformed to.
// typedef F<X extends Class<X>> = X;
// ^
//
// pkg/front_end/testcases/general/bounds_variables.dart:28:3: Error: Type argument 'Object' doesn't conform to the bound 'Class<X>' of the type variable 'X' on 'G'.
// - 'Object' is from 'dart:core'.
// - 'Class' is from 'pkg/front_end/testcases/general/bounds_variables.dart'.
// Try changing type arguments so that they conform to the bounds.
// G<Object> local7c, local8d; // Error
// ^
// pkg/front_end/testcases/general/bounds_variables.dart:11:9: Context: This is the type variable whose bound isn't conformed to.
// class G<X extends Class<X>> {}
// ^
//
// pkg/front_end/testcases/general/bounds_variables.dart:29:3: Error: Type argument 'int' doesn't conform to the bound 'Class<X>' of the type variable 'X' on 'G'.
// - 'Class' is from 'pkg/front_end/testcases/general/bounds_variables.dart'.
// Try changing type arguments so that they conform to the bounds.
// G<int> local8c, local7d; // Error
// ^
// pkg/front_end/testcases/general/bounds_variables.dart:11:9: Context: This is the type variable whose bound isn't conformed to.
// class G<X extends Class<X>> {}
// ^
//
// pkg/front_end/testcases/general/bounds_variables.dart:39:17: Error: Type argument 'Object' doesn't conform to the bound 'Class<X>' of the type variable 'X' on 'F'.
// - 'Object' is from 'dart:core'.
// - 'Class' is from 'pkg/front_end/testcases/general/bounds_variables.dart'.
// Try changing type arguments so that they conform to the bounds.
// void Function(F<Object>) local7a, local7b; // Error
// ^
// pkg/front_end/testcases/general/bounds_variables.dart:9:11: Context: This is the type variable whose bound isn't conformed to.
// typedef F<X extends Class<X>> = X;
// ^
//
// pkg/front_end/testcases/general/bounds_variables.dart:40:17: Error: Type argument 'int' doesn't conform to the bound 'Class<X>' of the type variable 'X' on 'F'.
// - 'Class' is from 'pkg/front_end/testcases/general/bounds_variables.dart'.
// Try changing type arguments so that they conform to the bounds.
// void Function(F<int>) local8a, local8b; // Error
// ^
// pkg/front_end/testcases/general/bounds_variables.dart:9:11: Context: This is the type variable whose bound isn't conformed to.
// typedef F<X extends Class<X>> = X;
// ^
//
// pkg/front_end/testcases/general/bounds_variables.dart:47:17: Error: Type argument 'Object' doesn't conform to the bound 'Class<X>' of the type variable 'X' on 'G'.
// - 'Object' is from 'dart:core'.
// - 'Class' is from 'pkg/front_end/testcases/general/bounds_variables.dart'.
// Try changing type arguments so that they conform to the bounds.
// void Function(G<Object>) local7c, local8d; // Error
// ^
// pkg/front_end/testcases/general/bounds_variables.dart:11:9: Context: This is the type variable whose bound isn't conformed to.
// class G<X extends Class<X>> {}
// ^
//
// pkg/front_end/testcases/general/bounds_variables.dart:48:17: Error: Type argument 'int' doesn't conform to the bound 'Class<X>' of the type variable 'X' on 'G'.
// - 'Class' is from 'pkg/front_end/testcases/general/bounds_variables.dart'.
// Try changing type arguments so that they conform to the bounds.
// void Function(G<int>) local8c, local7d; // Error
// ^
// pkg/front_end/testcases/general/bounds_variables.dart:11:9: Context: This is the type variable whose bound isn't conformed to.
// class G<X extends Class<X>> {}
// ^
//
// pkg/front_end/testcases/general/bounds_variables.dart:58:17: Error: Type argument 'Object' doesn't conform to the bound 'Class<X>' of the type variable 'X' on 'F'.
// - 'Object' is from 'dart:core'.
// - 'Class' is from 'pkg/front_end/testcases/general/bounds_variables.dart'.
// Try changing type arguments so that they conform to the bounds.
// void Function(F<Object> f) local7a, local7b; // Error
// ^
// pkg/front_end/testcases/general/bounds_variables.dart:9:11: Context: This is the type variable whose bound isn't conformed to.
// typedef F<X extends Class<X>> = X;
// ^
//
// pkg/front_end/testcases/general/bounds_variables.dart:59:17: Error: Type argument 'int' doesn't conform to the bound 'Class<X>' of the type variable 'X' on 'F'.
// - 'Class' is from 'pkg/front_end/testcases/general/bounds_variables.dart'.
// Try changing type arguments so that they conform to the bounds.
// void Function(F<int> f) local8a, local8b; // Error
// ^
// pkg/front_end/testcases/general/bounds_variables.dart:9:11: Context: This is the type variable whose bound isn't conformed to.
// typedef F<X extends Class<X>> = X;
// ^
//
// pkg/front_end/testcases/general/bounds_variables.dart:66:17: Error: Type argument 'Object' doesn't conform to the bound 'Class<X>' of the type variable 'X' on 'G'.
// - 'Object' is from 'dart:core'.
// - 'Class' is from 'pkg/front_end/testcases/general/bounds_variables.dart'.
// Try changing type arguments so that they conform to the bounds.
// void Function(G<Object> g) local7c, local8d; // Error
// ^
// pkg/front_end/testcases/general/bounds_variables.dart:11:9: Context: This is the type variable whose bound isn't conformed to.
// class G<X extends Class<X>> {}
// ^
//
// pkg/front_end/testcases/general/bounds_variables.dart:67:17: Error: Type argument 'int' doesn't conform to the bound 'Class<X>' of the type variable 'X' on 'G'.
// - 'Class' is from 'pkg/front_end/testcases/general/bounds_variables.dart'.
// Try changing type arguments so that they conform to the bounds.
// void Function(G<int> g) local8c, local7d; // Error
// ^
// pkg/front_end/testcases/general/bounds_variables.dart:11:9: Context: This is the type variable whose bound isn't conformed to.
// class G<X extends Class<X>> {}
// ^
//
// pkg/front_end/testcases/general/bounds_variables.dart:77:31: Error: Type argument 'Object' doesn't conform to the bound 'Class<X>' of the type variable 'X' on 'F'.
// - 'Object' is from 'dart:core'.
// - 'Class' is from 'pkg/front_end/testcases/general/bounds_variables.dart'.
// Try changing type arguments so that they conform to the bounds.
// void Function(void Function(F<Object>)) local7a, local7b; // Error
// ^
// pkg/front_end/testcases/general/bounds_variables.dart:9:11: Context: This is the type variable whose bound isn't conformed to.
// typedef F<X extends Class<X>> = X;
// ^
//
// pkg/front_end/testcases/general/bounds_variables.dart:78:31: Error: Type argument 'int' doesn't conform to the bound 'Class<X>' of the type variable 'X' on 'F'.
// - 'Class' is from 'pkg/front_end/testcases/general/bounds_variables.dart'.
// Try changing type arguments so that they conform to the bounds.
// void Function(void Function(F<int>)) local8a, local8b; // Error
// ^
// pkg/front_end/testcases/general/bounds_variables.dart:9:11: Context: This is the type variable whose bound isn't conformed to.
// typedef F<X extends Class<X>> = X;
// ^
//
// pkg/front_end/testcases/general/bounds_variables.dart:85:31: Error: Type argument 'Object' doesn't conform to the bound 'Class<X>' of the type variable 'X' on 'G'.
// - 'Object' is from 'dart:core'.
// - 'Class' is from 'pkg/front_end/testcases/general/bounds_variables.dart'.
// Try changing type arguments so that they conform to the bounds.
// void Function(void Function(G<Object>)) local7c, local8d; // Error
// ^
// pkg/front_end/testcases/general/bounds_variables.dart:11:9: Context: This is the type variable whose bound isn't conformed to.
// class G<X extends Class<X>> {}
// ^
//
// pkg/front_end/testcases/general/bounds_variables.dart:86:31: Error: Type argument 'int' doesn't conform to the bound 'Class<X>' of the type variable 'X' on 'G'.
// - 'Class' is from 'pkg/front_end/testcases/general/bounds_variables.dart'.
// Try changing type arguments so that they conform to the bounds.
// void Function(void Function(G<int>)) local8c, local7d; // Error
// ^
// pkg/front_end/testcases/general/bounds_variables.dart:11:9: Context: This is the type variable whose bound isn't conformed to.
// class G<X extends Class<X>> {}
// ^
//
// pkg/front_end/testcases/general/bounds_variables.dart:97:31: Error: Type argument 'Object' doesn't conform to the bound 'Class<X>' of the type variable 'X' on 'F'.
// - 'Object' is from 'dart:core'.
// - 'Class' is from 'pkg/front_end/testcases/general/bounds_variables.dart'.
// Try changing type arguments so that they conform to the bounds.
// void Function(void Function(F<Object> f) f) local7a, local7b; // Error
// ^
// pkg/front_end/testcases/general/bounds_variables.dart:9:11: Context: This is the type variable whose bound isn't conformed to.
// typedef F<X extends Class<X>> = X;
// ^
//
// pkg/front_end/testcases/general/bounds_variables.dart:98:31: Error: Type argument 'int' doesn't conform to the bound 'Class<X>' of the type variable 'X' on 'F'.
// - 'Class' is from 'pkg/front_end/testcases/general/bounds_variables.dart'.
// Try changing type arguments so that they conform to the bounds.
// void Function(void Function(F<int> f) f) local8a, local8b; // Error
// ^
// pkg/front_end/testcases/general/bounds_variables.dart:9:11: Context: This is the type variable whose bound isn't conformed to.
// typedef F<X extends Class<X>> = X;
// ^
//
// pkg/front_end/testcases/general/bounds_variables.dart:106:31: Error: Type argument 'Object' doesn't conform to the bound 'Class<X>' of the type variable 'X' on 'G'.
// - 'Object' is from 'dart:core'.
// - 'Class' is from 'pkg/front_end/testcases/general/bounds_variables.dart'.
// Try changing type arguments so that they conform to the bounds.
// void Function(void Function(G<Object> g) g) local7c, local8d; // Error
// ^
// pkg/front_end/testcases/general/bounds_variables.dart:11:9: Context: This is the type variable whose bound isn't conformed to.
// class G<X extends Class<X>> {}
// ^
//
// pkg/front_end/testcases/general/bounds_variables.dart:107:31: Error: Type argument 'int' doesn't conform to the bound 'Class<X>' of the type variable 'X' on 'G'.
// - 'Class' is from 'pkg/front_end/testcases/general/bounds_variables.dart'.
// Try changing type arguments so that they conform to the bounds.
// void Function(void Function(G<int> g) g) local8c, local7d; // Error
// ^
// pkg/front_end/testcases/general/bounds_variables.dart:11:9: Context: This is the type variable whose bound isn't conformed to.
// class G<X extends Class<X>> {}
// ^
//
import self as self;
import "dart:core" as core;
typedef F<X extends self::Class<X> = self::Class<dynamic>> = X;
class Class<T extends core::Object? = dynamic> extends core::Object {
synthetic constructor •() self::Class<self::Class::T%>
: super core::Object::•()
;
}
class ConcreteClass extends core::Object implements self::Class<self::ConcreteClass> {
synthetic constructor •() self::ConcreteClass
: super core::Object::•()
;
}
class G<X extends self::Class<self::G::X> = self::Class<dynamic>> extends core::Object {
synthetic constructor •() self::G<self::G::X>
: super core::Object::•()
;
}
static method test1() dynamic {
self::Class<dynamic> local1a;
self::Class<dynamic> local1b;
dynamic local2a;
dynamic local2b;
self::Class<dynamic> local3a;
self::Class<dynamic> local3b;
self::Class<dynamic> local4a;
self::Class<dynamic> local4b;
self::ConcreteClass local5a;
self::ConcreteClass local5b;
self::Class<self::ConcreteClass> local6a;
self::Class<self::ConcreteClass> local6b;
core::Object local7a;
core::Object local7b;
core::int local8a;
core::int local8b;
self::G<self::Class<dynamic>> local1c;
self::G<self::Class<dynamic>> local1d;
self::G<dynamic> local2c;
self::G<dynamic> local2d;
self::G<self::Class<dynamic>> local3c;
self::G<self::Class<dynamic>> local3d;
self::G<self::Class<dynamic>> local4c;
self::G<self::Class<dynamic>> local4d;
self::G<self::ConcreteClass> local5c;
self::G<self::ConcreteClass> local5d;
self::G<self::Class<self::ConcreteClass>> local6c;
self::G<self::Class<self::ConcreteClass>> local6d;
self::G<core::Object> local7c;
self::G<core::Object> local8d;
self::G<core::int> local8c;
self::G<core::int> local7d;
}
static method test2() dynamic {
(self::Class<dynamic>) void local1a;
(self::Class<dynamic>) void local1b;
(dynamic) void local2a;
(dynamic) void local2b;
(self::Class<dynamic>) void local3a;
(self::Class<dynamic>) void local3b;
(self::Class<dynamic>) void local4a;
(self::Class<dynamic>) void local4b;
(self::ConcreteClass) void local5a;
(self::ConcreteClass) void local5b;
(self::Class<self::ConcreteClass>) void local6a;
(self::Class<self::ConcreteClass>) void local6b;
(core::Object) void local7a;
(core::Object) void local7b;
(core::int) void local8a;
(core::int) void local8b;
(self::G<self::Class<dynamic>>) void local1c;
(self::G<self::Class<dynamic>>) void local1d;
(self::G<dynamic>) void local2c;
(self::G<dynamic>) void local2d;
(self::G<self::Class<dynamic>>) void local3c;
(self::G<self::Class<dynamic>>) void local3d;
(self::G<self::Class<dynamic>>) void local4c;
(self::G<self::Class<dynamic>>) void local4d;
(self::G<self::ConcreteClass>) void local5c;
(self::G<self::ConcreteClass>) void local5d;
(self::G<self::Class<self::ConcreteClass>>) void local6c;
(self::G<self::Class<self::ConcreteClass>>) void local6d;
(self::G<core::Object>) void local7c;
(self::G<core::Object>) void local8d;
(self::G<core::int>) void local8c;
(self::G<core::int>) void local7d;
}
static method test3() dynamic {
(self::Class<dynamic>) void local1a;
(self::Class<dynamic>) void local1b;
(dynamic) void local2a;
(dynamic) void local2b;
(self::Class<dynamic>) void local3a;
(self::Class<dynamic>) void local3b;
(self::Class<dynamic>) void local4a;
(self::Class<dynamic>) void local4b;
(self::ConcreteClass) void local5a;
(self::ConcreteClass) void local5b;
(self::Class<self::ConcreteClass>) void local6a;
(self::Class<self::ConcreteClass>) void local6b;
(core::Object) void local7a;
(core::Object) void local7b;
(core::int) void local8a;
(core::int) void local8b;
(self::G<self::Class<dynamic>>) void local1c;
(self::G<self::Class<dynamic>>) void local1d;
(self::G<dynamic>) void local2c;
(self::G<dynamic>) void local2d;
(self::G<self::Class<dynamic>>) void local3c;
(self::G<self::Class<dynamic>>) void local3d;
(self::G<self::Class<dynamic>>) void local4c;
(self::G<self::Class<dynamic>>) void local4d;
(self::G<self::ConcreteClass>) void local5c;
(self::G<self::ConcreteClass>) void local5d;
(self::G<self::Class<self::ConcreteClass>>) void local6c;
(self::G<self::Class<self::ConcreteClass>>) void local6d;
(self::G<core::Object>) void local7c;
(self::G<core::Object>) void local8d;
(self::G<core::int>) void local8c;
(self::G<core::int>) void local7d;
}
static method test4() dynamic {
((self::Class<dynamic>) void) void local1a;
((self::Class<dynamic>) void) void local1b;
((dynamic) void) void local2a;
((dynamic) void) void local2b;
((self::Class<dynamic>) void) void local3a;
((self::Class<dynamic>) void) void local3b;
((self::Class<dynamic>) void) void local4a;
((self::Class<dynamic>) void) void local4b;
((self::ConcreteClass) void) void local5a;
((self::ConcreteClass) void) void local5b;
((self::Class<self::ConcreteClass>) void) void local6a;
((self::Class<self::ConcreteClass>) void) void local6b;
((core::Object) void) void local7a;
((core::Object) void) void local7b;
((core::int) void) void local8a;
((core::int) void) void local8b;
((self::G<self::Class<dynamic>>) void) void local1c;
((self::G<self::Class<dynamic>>) void) void local1d;
((self::G<dynamic>) void) void local2c;
((self::G<dynamic>) void) void local2d;
((self::G<self::Class<dynamic>>) void) void local3c;
((self::G<self::Class<dynamic>>) void) void local3d;
((self::G<self::Class<dynamic>>) void) void local4c;
((self::G<self::Class<dynamic>>) void) void local4d;
((self::G<self::ConcreteClass>) void) void local5c;
((self::G<self::ConcreteClass>) void) void local5d;
((self::G<self::Class<self::ConcreteClass>>) void) void local6c;
((self::G<self::Class<self::ConcreteClass>>) void) void local6d;
((self::G<core::Object>) void) void local7c;
((self::G<core::Object>) void) void local8d;
((self::G<core::int>) void) void local8c;
((self::G<core::int>) void) void local7d;
}
static method test5() dynamic {
((self::Class<dynamic>) void) void local1a;
((self::Class<dynamic>) void) void local1b;
((dynamic) void) void local2a;
((dynamic) void) void local2b;
((self::Class<dynamic>) void) void local3a;
((self::Class<dynamic>) void) void local3b;
((self::Class<dynamic>) void) void local4a;
((self::Class<dynamic>) void) void local4b;
((self::ConcreteClass) void) void local5a;
((self::ConcreteClass) void) void local5b;
((self::Class<self::ConcreteClass>) void) void local6a;
((self::Class<self::ConcreteClass>) void) void local6b;
((core::Object) void) void local7a;
((core::Object) void) void local7b;
((core::int) void) void local8a;
((core::int) void) void local8b;
((self::G<self::Class<dynamic>>) void) void local1c;
((self::G<self::Class<dynamic>>) void) void local1d;
((self::G<dynamic>) void) void local2c;
((self::G<dynamic>) void) void local2d;
((self::G<self::Class<dynamic>>) void) void local3c;
((self::G<self::Class<dynamic>>) void) void local3d;
((self::G<self::Class<dynamic>>) void) void local4c;
((self::G<self::Class<dynamic>>) void) void local4d;
((self::G<self::ConcreteClass>) void) void local5c;
((self::G<self::ConcreteClass>) void) void local5d;
((self::G<self::Class<self::ConcreteClass>>) void) void local6c;
((self::G<self::Class<self::ConcreteClass>>) void) void local6d;
((self::G<core::Object>) void) void local7c;
((self::G<core::Object>) void) void local8d;
((self::G<core::int>) void) void local8c;
((self::G<core::int>) void) void local7d;
}
static method main() dynamic {}