| Index: pkg/front_end/testcases/inference/downwards_inference_on_generic_function_expressions.dart
|
| diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_generic_function_expressions.dart b/pkg/front_end/testcases/inference/downwards_inference_on_generic_function_expressions.dart
|
| index 92db08c2ed53df8481b5e218fdc24e0b116c29e4..11bd1904385d42d70c3143ec558a3676082c4897 100644
|
| --- a/pkg/front_end/testcases/inference/downwards_inference_on_generic_function_expressions.dart
|
| +++ b/pkg/front_end/testcases/inference/downwards_inference_on_generic_function_expressions.dart
|
| @@ -30,7 +30,7 @@ void main() {
|
| return /*error:RETURN_OF_INVALID_TYPE*/ 3;
|
| };
|
| v = /*@returnType=String*/ <T>(/*@type=int*/ x) {
|
| - return /*error:RETURN_OF_INVALID_TYPE*/ /*@promotedType=none*/ x;
|
| + return /*error:RETURN_OF_INVALID_TYPE*/ x;
|
| };
|
| }
|
| {
|
| @@ -56,17 +56,16 @@ void main() {
|
| String int2String<T>(int x) => null;
|
| String string2String<T>(String x) => null;
|
| var /*@type=(int) -> int*/ x = int2int;
|
| - x = /*@returnType=int*/ <T>(/*@type=int*/ x) => /*@promotedType=none*/ x;
|
| - x = /*@returnType=int*/ <
|
| - T>(/*@type=int*/ x) => /*@promotedType=none*/ x /*@target=num::+*/ + 1;
|
| + x = /*@returnType=int*/ <T>(/*@type=int*/ x) => x;
|
| + x = /*@returnType=int*/ <T>(/*@type=int*/ x) => x /*@target=num::+*/ + 1;
|
| var /*@type=(int) -> String*/ y = int2String;
|
| y = /*info:INFERRED_TYPE_CLOSURE, error:INVALID_ASSIGNMENT*/ /*@returnType=int*/ <
|
| T>(/*@type=int*/ x) =>
|
| - /*@promotedType=none*/ x;
|
| + x;
|
| y = /*@returnType=String*/ <
|
| - T>(/*@type=int*/ x) => /*info:DYNAMIC_INVOKE, info:DYNAMIC_CAST*/ /*@promotedType=none*/ x.substring(3);
|
| + T>(/*@type=int*/ x) => /*info:DYNAMIC_INVOKE, info:DYNAMIC_CAST*/ x.substring(3);
|
| var /*@type=(String) -> String*/ z = string2String;
|
| - z = /*@returnType=String*/ <T>(/*@type=String*/ x) => /*@promotedType=none*/ x
|
| - . /*@target=String::substring*/ substring(3);
|
| + z = /*@returnType=String*/ <T>(/*@type=String*/ x) =>
|
| + x. /*@target=String::substring*/ substring(3);
|
| }
|
| }
|
|
|