Index: pkg/analyzer/test/generated/type_system_test.dart |
diff --git a/pkg/analyzer/test/generated/type_system_test.dart b/pkg/analyzer/test/generated/type_system_test.dart |
index 6aa2ad152ee9a8bd88438adcae751e4ab20ea842..e15b0949e728e043e7c8e9f1894c7786458345de 100644 |
--- a/pkg/analyzer/test/generated/type_system_test.dart |
+++ b/pkg/analyzer/test/generated/type_system_test.dart |
@@ -1608,15 +1608,42 @@ class StrongSubtypingTest { |
DartType u = TypeBuilder.variable("U", bound: intType); |
DartType v = TypeBuilder.variable("V", bound: u); |
+ DartType a = TypeBuilder.variable("A"); |
+ DartType b = TypeBuilder.variable("B", bound: a); |
+ DartType c = TypeBuilder.variable("C", bound: intType); |
+ DartType d = TypeBuilder.variable("D", bound: c); |
+ |
_checkIsStrictSubtypeOf( |
TypeBuilder.function(types: [s, t], required: [s], result: t), |
+ TypeBuilder.function( |
+ types: [a, b], required: [dynamicType], result: dynamicType)); |
+ |
+ _checkIsNotSubtypeOf( |
+ TypeBuilder.function(types: [u, v], required: [u], result: v), |
+ TypeBuilder.function( |
+ types: [c, d], required: [objectType], result: objectType)); |
+ |
+ _checkIsNotSubtypeOf( |
+ TypeBuilder.function(types: [u, v], required: [u], result: v), |
+ TypeBuilder |
+ .function(types: [c, d], required: [intType], result: intType)); |
+ } |
+ |
+ void test_genericFunction_nonGenericDoesNotSubtypeGeneric() { |
Leaf
2016/12/02 01:59:10
This name is backwards isn't it? Should be _gener
Jennifer Messerly
2016/12/02 03:24:00
yes. thank you :)
|
+ DartType s = TypeBuilder.variable("S"); |
+ DartType t = TypeBuilder.variable("T", bound: s); |
+ DartType u = TypeBuilder.variable("U", bound: intType); |
+ DartType v = TypeBuilder.variable("V", bound: u); |
+ |
+ _checkIsNotSubtypeOf( |
+ TypeBuilder.function(types: [s, t], required: [s], result: t), |
TypeBuilder.function(required: [dynamicType], result: dynamicType)); |
_checkIsNotSubtypeOf( |
TypeBuilder.function(types: [u, v], required: [u], result: v), |
TypeBuilder.function(required: [objectType], result: objectType)); |
- _checkIsStrictSubtypeOf( |
+ _checkIsNotSubtypeOf( |
TypeBuilder.function(types: [u, v], required: [u], result: v), |
TypeBuilder.function(required: [intType], result: intType)); |
} |