| library test; |
| // |
| // Problems in library: |
| // |
| // pkg/front_end/testcases/inference/generic_methods_dart_math_min_max.dart:28:35: Error: The argument type 'double' can't be assigned to the parameter type 'int'. |
| // /*@ typeArgs=int* */ max(1, 2.0)); |
| // ^ |
| // |
| // pkg/front_end/testcases/inference/generic_methods_dart_math_min_max.dart:30:35: Error: The argument type 'double' can't be assigned to the parameter type 'int'. |
| // /*@ typeArgs=int* */ min(1, 2.0)); |
| // ^ |
| // |
| // pkg/front_end/testcases/inference/generic_methods_dart_math_min_max.dart:37:37: Error: The argument type 'String' can't be assigned to the parameter type 'int'. |
| // printInt(/*@ typeArgs=int* */ min("hi", "there")); |
| // ^ |
| // |
| // pkg/front_end/testcases/inference/generic_methods_dart_math_min_max.dart:37:43: Error: The argument type 'String' can't be assigned to the parameter type 'int'. |
| // printInt(/*@ typeArgs=int* */ min("hi", "there")); |
| // ^ |
| // |
| import self as self; |
| import "dart:core" as core; |
| import "dart:math" as math; |
| |
| import "dart:math"; |
| |
| static method printInt(core::int* x) → void |
| return core::print(x); |
| static method printDouble(core::double* x) → void |
| return core::print(x); |
| static method myMax(core::num* x, core::num* y) → core::num* |
| return math::max<core::num*>(x, y); |
| static method f() → dynamic { |
| self::printInt(math::max<core::int*>(1, 2)); |
| self::printInt(math::min<core::int*>(1, 2)); |
| self::printDouble(math::max<core::double*>(1.0, 2.0)); |
| self::printDouble(math::min<core::double*>(1.0, 2.0)); |
| self::printInt(self::myMax(1, 2) as{TypeError} core::int*); |
| self::printInt(self::myMax(1, 2) as core::int*); |
| self::printInt(math::max<core::int*>(1, let final Never* #t1 = invalid-expression "pkg/front_end/testcases/inference/generic_methods_dart_math_min_max.dart:28:35: Error: The argument type 'double' can't be assigned to the parameter type 'int'. |
| /*@ typeArgs=int* */ max(1, 2.0)); |
| ^" in 2.0 as{TypeError} core::int*)); |
| self::printInt(math::min<core::int*>(1, let final Never* #t2 = invalid-expression "pkg/front_end/testcases/inference/generic_methods_dart_math_min_max.dart:30:35: Error: The argument type 'double' can't be assigned to the parameter type 'int'. |
| /*@ typeArgs=int* */ min(1, 2.0)); |
| ^" in 2.0 as{TypeError} core::int*)); |
| self::printDouble(math::max<core::double*>(1.0, 2.0)); |
| self::printDouble(math::min<core::double*>(1.0, 2.0)); |
| self::printInt(math::min<core::int*>(let final Never* #t3 = invalid-expression "pkg/front_end/testcases/inference/generic_methods_dart_math_min_max.dart:37:37: Error: The argument type 'String' can't be assigned to the parameter type 'int'. |
| printInt(/*@ typeArgs=int* */ min(\"hi\", \"there\")); |
| ^" in "hi" as{TypeError} core::int*, let final Never* #t4 = invalid-expression "pkg/front_end/testcases/inference/generic_methods_dart_math_min_max.dart:37:43: Error: The argument type 'String' can't be assigned to the parameter type 'int'. |
| printInt(/*@ typeArgs=int* */ min(\"hi\", \"there\")); |
| ^" in "there" as{TypeError} core::int*)); |
| } |
| static method main() → dynamic {} |