blob: edd08683baeb3d2d1ebcaf2313917b0e6379a15b [file] [log] [blame]
library test;
//
// Problems in library:
//
// pkg/front_end/testcases/inference/downwards_inference_on_function_expressions.dart:15:69: Error: A value of type 'String Function(String)' can't be assigned to a variable of type 'String Function(int)'.
// l2 = /*error:INVALID_ASSIGNMENT*/ /*@ returnType=String* */ (String x) =>
// ^
//
// pkg/front_end/testcases/inference/downwards_inference_on_function_expressions.dart:18:80: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
// l3 = /*error:INVALID_ASSIGNMENT*/ /*@ returnType=String* */ (int x) => 3;
// ^
//
// pkg/front_end/testcases/inference/downwards_inference_on_function_expressions.dart:20:47: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
// return /*error:RETURN_OF_INVALID_TYPE*/ 3;
// ^
//
// pkg/front_end/testcases/inference/downwards_inference_on_function_expressions.dart:29:13: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
// 3;
// ^
//
// pkg/front_end/testcases/inference/downwards_inference_on_function_expressions.dart:31:47: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
// return /*error:RETURN_OF_INVALID_TYPE*/ 3;
// ^
//
// pkg/front_end/testcases/inference/downwards_inference_on_function_expressions.dart:34:47: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
// return /*error:RETURN_OF_INVALID_TYPE*/ x;
// ^
//
// pkg/front_end/testcases/inference/downwards_inference_on_function_expressions.dart:42:76: Error: A value of type 'List<String> Function(String)' can't be assigned to a variable of type 'List<String> Function(int)'.
// - 'List' is from 'dart:core'.
// l2 = /*error:INVALID_ASSIGNMENT*/ /*@ returnType=List<String*>* */ (String
// ^
//
// pkg/front_end/testcases/inference/downwards_inference_on_function_expressions.dart:46:58: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
// /*error:LIST_ELEMENT_TYPE_NOT_ASSIGNABLE*/ 3
// ^
//
// pkg/front_end/testcases/inference/downwards_inference_on_function_expressions.dart:50:52: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
// /*error:LIST_ELEMENT_TYPE_NOT_ASSIGNABLE*/ 3
// ^
//
// pkg/front_end/testcases/inference/downwards_inference_on_function_expressions.dart:60:13: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
// x;
// ^
//
// pkg/front_end/testcases/inference/downwards_inference_on_function_expressions.dart:63:14: Error: The method 'substring' isn't defined for the class 'int'.
// Try correcting the name to the name of an existing method, or defining a method named 'substring'.
// .substring(3);
// ^^^^^^^^^
//
import self as self;
import "dart:core" as core;
typedef Function2<contravariant S extends core::Object* = dynamic, T extends core::Object* = dynamic> = (S*) →* T*;
static method test() void {
{
(core::int*) →* core::String* l0 = (core::int* x) Null => null;
(core::int*) →* core::String* l1 = (core::int* x) core::String* => "hello";
(core::int*) →* core::String* l2 = let final<BottomType> #t1 = invalid-expression "pkg/front_end/testcases/inference/downwards_inference_on_function_expressions.dart:15:69: Error: A value of type 'String Function(String)' can't be assigned to a variable of type 'String Function(int)'.
l2 = /*error:INVALID_ASSIGNMENT*/ /*@ returnType=String* */ (String x) =>
^" in ((core::String* x) → core::String* => "hello") as{TypeError} (core::int*) →* core::String*;
(core::int*) →* core::String* l3 = (core::int* x) → core::String* => let final<BottomType> #t2 = invalid-expression "pkg/front_end/testcases/inference/downwards_inference_on_function_expressions.dart:18:80: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
l3 = /*error:INVALID_ASSIGNMENT*/ /*@ returnType=String* */ (int x) => 3;
^" in 3 as{TypeError} core::String*;
(core::int*) →* core::String* l4 = (core::int* x) → core::String* {
return let final<BottomType> #t3 = invalid-expression "pkg/front_end/testcases/inference/downwards_inference_on_function_expressions.dart:20:47: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
return /*error:RETURN_OF_INVALID_TYPE*/ 3;
^" in 3 as{TypeError} core::String*;
};
}
{
(core::int*) →* core::String* l0 = (core::int* x) → Null => null;
(core::int*) →* core::String* l1 = (core::int* x) → core::String* => "hello";
(core::int*) →* core::String* l2 = (core::int* x) → core::String* => let final<BottomType> #t4 = invalid-expression "pkg/front_end/testcases/inference/downwards_inference_on_function_expressions.dart:29:13: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
3;
^" in 3 as{TypeError} core::String*;
(core::int*) →* core::String* l3 = (core::int* x) → core::String* {
return let final<BottomType> #t5 = invalid-expression "pkg/front_end/testcases/inference/downwards_inference_on_function_expressions.dart:31:47: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
return /*error:RETURN_OF_INVALID_TYPE*/ 3;
^" in 3 as{TypeError} core::String*;
};
(core::int*) →* core::String* l4 = (core::int* x) → core::String* {
return let final<BottomType> #t6 = invalid-expression "pkg/front_end/testcases/inference/downwards_inference_on_function_expressions.dart:34:47: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
return /*error:RETURN_OF_INVALID_TYPE*/ x;
^" in x as{TypeError} core::String*;
};
}
{
(core::int*) →* core::List<core::String*>* l0 = (core::int* x) → Null => null;
(core::int*) →* core::List<core::String*>* l1 = (core::int* x) → core::List<core::String*>* => <core::String*>["hello"];
(core::int*) →* core::List<core::String*>* l2 = let final<BottomType> #t7 = invalid-expression "pkg/front_end/testcases/inference/downwards_inference_on_function_expressions.dart:42:76: Error: A value of type 'List<String> Function(String)' can't be assigned to a variable of type 'List<String> Function(int)'.
- 'List' is from 'dart:core'.
l2 = /*error:INVALID_ASSIGNMENT*/ /*@ returnType=List<String*>* */ (String
^" in ((core::String* x) → core::List<core::String*>* => <core::String*>["hello"]) as{TypeError} (core::int*) →* core::List<core::String*>*;
(core::int*) →* core::List<core::String*>* l3 = (core::int* x) → core::List<core::String*>* => <core::String*>[let final<BottomType> #t8 = invalid-expression "pkg/front_end/testcases/inference/downwards_inference_on_function_expressions.dart:46:58: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
/*error:LIST_ELEMENT_TYPE_NOT_ASSIGNABLE*/ 3
^" in 3 as{TypeError} core::String*];
(core::int*) →* core::List<core::String*>* l4 = (core::int* x) → core::List<core::String*>* {
return <core::String*>[let final<BottomType> #t9 = invalid-expression "pkg/front_end/testcases/inference/downwards_inference_on_function_expressions.dart:50:52: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
/*error:LIST_ELEMENT_TYPE_NOT_ASSIGNABLE*/ 3
^" in 3 as{TypeError} core::String*];
};
}
{
(core::int*) →* core::int* l0 = (core::int* x) → core::int* => x;
(core::int*) →* core::int* l1 = (core::int* x) → core::int* => x.{core::num::+}(1);
(core::int*) →* core::String* l2 = (core::int* x) → core::String* => let final<BottomType> #t10 = invalid-expression "pkg/front_end/testcases/inference/downwards_inference_on_function_expressions.dart:60:13: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
x;
^" in x as{TypeError} core::String*;
(core::int*) →* core::String* l3 = (core::int* x) → core::String* => invalid-expression "pkg/front_end/testcases/inference/downwards_inference_on_function_expressions.dart:63:14: Error: The method 'substring' isn't defined for the class 'int'.
Try correcting the name to the name of an existing method, or defining a method named 'substring'.
.substring(3);
^^^^^^^^^" as{TypeError,ForDynamic} core::String*;
(core::String*) →* core::String* l4 = (core::String* x) → core::String* => x.{core::String::substring}(3);
}
}
static method main() → dynamic {}