diff --git a/test/libsolidity/syntaxTests/constants/addmod_mulmod_rational.sol b/test/libsolidity/syntaxTests/constants/addmod_mulmod_rational.sol index 741cd56ee..3d3f36da0 100644 --- a/test/libsolidity/syntaxTests/constants/addmod_mulmod_rational.sol +++ b/test/libsolidity/syntaxTests/constants/addmod_mulmod_rational.sol @@ -3,5 +3,5 @@ contract C { uint constant b = mulmod(3, 4, 0.1); } // ---- -// TypeError 9553: (48-51): Invalid type for argument in function call. Invalid implicit conversion from rational_const 1 / 10 to uint256 requested. -// TypeError 9553: (89-92): Invalid type for argument in function call. Invalid implicit conversion from rational_const 1 / 10 to uint256 requested. +// TypeError 9553: (48-51): Invalid type for argument in function call. Invalid implicit conversion from rational_const 1 / 10 to uint256 requested. Rational number is fractional, use an explicit conversion instead. +// TypeError 9553: (89-92): Invalid type for argument in function call. Invalid implicit conversion from rational_const 1 / 10 to uint256 requested. Rational number is fractional, use an explicit conversion instead. diff --git a/test/libsolidity/syntaxTests/denominations/fixed_point_division.sol b/test/libsolidity/syntaxTests/denominations/fixed_point_division.sol index 60588d99d..c2ce6ea6f 100644 --- a/test/libsolidity/syntaxTests/denominations/fixed_point_division.sol +++ b/test/libsolidity/syntaxTests/denominations/fixed_point_division.sol @@ -3,4 +3,4 @@ contract C { ufixed constant b = ufixed(4 ether / 3 hours); } // ---- -// TypeError 7407: (32-49): Type rational_const 10000000000000000 / 27 is not implicitly convertible to expected type uint256. +// TypeError 7407: (32-49): Type rational_const 10000000000000000 / 27 is not implicitly convertible to expected type uint256. Rational number is fractional, use an explicit conversion instead. diff --git a/test/libsolidity/syntaxTests/fixed_point/conversion_rational_invalid.sol b/test/libsolidity/syntaxTests/fixed_point/conversion_rational_invalid.sol index a0f60b3a7..ad2c6afc5 100644 --- a/test/libsolidity/syntaxTests/fixed_point/conversion_rational_invalid.sol +++ b/test/libsolidity/syntaxTests/fixed_point/conversion_rational_invalid.sol @@ -11,11 +11,11 @@ fixed64x2 constant g = fixed64x2(2**64); ufixed64x2 constant h = ufixed64x2(-1); // ---- -// TypeError 2326: (47-52): Type rational_const 1123 / 1000 is not implicitly convertible to expected type fixed64x2. Try converting to type ufixed16x3 or use an explicit conversion. -// TypeError 2326: (78-84): Type rational_const -1123 / 1000 is not implicitly convertible to expected type ufixed64x2. Try converting to type fixed16x3 or use an explicit conversion. -// TypeError 7407: (110-111): Type int_const 1 is not implicitly convertible to expected type fixed64x28. -// TypeError 7407: (137-139): Type int_const -1 is not implicitly convertible to expected type fixed64x28. -// TypeError 7407: (167-170): Type rational_const 1 / 3 is not implicitly convertible to expected type ufixed256x77. -// TypeError 7407: (198-200): Type int_const -1 is not implicitly convertible to expected type ufixed256x77. +// TypeError 7407: (47-52): Type rational_const 1123 / 1000 is not implicitly convertible to expected type fixed64x2. Conversion incurs precision loss. Use an explicit conversion instead. +// TypeError 7407: (78-84): Type rational_const -1123 / 1000 is not implicitly convertible to expected type ufixed64x2. Rational number is negative, use a signed fixed point type instead. +// TypeError 7407: (110-111): Type int_const 1 is not implicitly convertible to expected type fixed64x28. Number is too large for type. +// TypeError 7407: (137-139): Type int_const -1 is not implicitly convertible to expected type fixed64x28. Number is too small for type. +// TypeError 7407: (167-170): Type rational_const 1 / 3 is not implicitly convertible to expected type ufixed256x77. Conversion incurs precision loss. Use an explicit conversion instead. +// TypeError 7407: (198-200): Type int_const -1 is not implicitly convertible to expected type ufixed256x77. Rational number is negative, use a signed fixed point type instead. // TypeError 9640: (250-266): Explicit type conversion not allowed from "int_const 18446744073709551616" to "fixed64x2". Value is too large. // TypeError 9640: (292-306): Explicit type conversion not allowed from "int_const -1" to "ufixed64x2". Value is too small. diff --git a/test/libsolidity/syntaxTests/indexing/array_multidim_rational.sol b/test/libsolidity/syntaxTests/indexing/array_multidim_rational.sol index b0d4dbb10..9120c032d 100644 --- a/test/libsolidity/syntaxTests/indexing/array_multidim_rational.sol +++ b/test/libsolidity/syntaxTests/indexing/array_multidim_rational.sol @@ -7,5 +7,5 @@ contract C { // ---- // TypeError 7407: (67-72): Type int_const 1897...(74 digits omitted)...1424 is not implicitly convertible to expected type uint256. Literal is too large to fit in uint256. // TypeError 7407: (74-79): Type int_const 1897...(74 digits omitted)...1424 is not implicitly convertible to expected type uint256. Literal is too large to fit in uint256. -// TypeError 7407: (81-90): Type rational_const 9485...(73 digits omitted)...5712 / 5 is not implicitly convertible to expected type uint256. +// TypeError 7407: (81-90): Type rational_const 9485...(73 digits omitted)...5712 / 5 is not implicitly convertible to expected type uint256. Rational number is fractional, use an explicit conversion instead. // TypeError 6318: (65-91): Index expression cannot be represented as an unsigned integer. diff --git a/test/libsolidity/syntaxTests/nameAndTypeResolution/313_fixed_type_size_capabilities.sol b/test/libsolidity/syntaxTests/nameAndTypeResolution/313_fixed_type_size_capabilities.sol index 97c9ee172..852dd30d4 100644 --- a/test/libsolidity/syntaxTests/nameAndTypeResolution/313_fixed_type_size_capabilities.sol +++ b/test/libsolidity/syntaxTests/nameAndTypeResolution/313_fixed_type_size_capabilities.sol @@ -10,5 +10,5 @@ contract test { } } // ---- -// TypeError 9574: (153-250): Type rational_const 9208...(70 digits omitted)...7637 / 1000...(71 digits omitted)...0000 is not implicitly convertible to expected type ufixed256x77. -// TypeError 9574: (470-566): Type rational_const -933...(70 digits omitted)...0123 / 1000...(70 digits omitted)...0000 is not implicitly convertible to expected type fixed256x76. +// TypeError 9574: (153-250): Type rational_const 9208...(70 digits omitted)...7637 / 1000...(71 digits omitted)...0000 is not implicitly convertible to expected type ufixed256x77. Conversion incurs precision loss. Use an explicit conversion instead. +// TypeError 9574: (470-566): Type rational_const -933...(70 digits omitted)...0123 / 1000...(70 digits omitted)...0000 is not implicitly convertible to expected type fixed256x76. Conversion incurs precision loss. Use an explicit conversion instead. diff --git a/test/libsolidity/syntaxTests/nameAndTypeResolution/316_fixed_type_invalid_implicit_conversion_lost_data.sol b/test/libsolidity/syntaxTests/nameAndTypeResolution/316_fixed_type_invalid_implicit_conversion_lost_data.sol index 47748c04a..8aa8bdb8b 100644 --- a/test/libsolidity/syntaxTests/nameAndTypeResolution/316_fixed_type_invalid_implicit_conversion_lost_data.sol +++ b/test/libsolidity/syntaxTests/nameAndTypeResolution/316_fixed_type_invalid_implicit_conversion_lost_data.sol @@ -4,4 +4,4 @@ contract test { } } // ---- -// TypeError 9574: (50-69): Type rational_const 1 / 3 is not implicitly convertible to expected type ufixed256x1. +// TypeError 9574: (50-69): Type rational_const 1 / 3 is not implicitly convertible to expected type ufixed256x1. Conversion incurs precision loss. Use an explicit conversion instead. diff --git a/test/libsolidity/syntaxTests/nameAndTypeResolution/321_rational_to_bytes_implicit_conversion.sol b/test/libsolidity/syntaxTests/nameAndTypeResolution/321_rational_to_bytes_implicit_conversion.sol index 294ab1877..1e7a6ea98 100644 --- a/test/libsolidity/syntaxTests/nameAndTypeResolution/321_rational_to_bytes_implicit_conversion.sol +++ b/test/libsolidity/syntaxTests/nameAndTypeResolution/321_rational_to_bytes_implicit_conversion.sol @@ -4,4 +4,4 @@ contract test { } } // ---- -// TypeError 4486: (50-65): Type rational_const 16 / 5 is not implicitly convertible to expected type bytes32. Try converting to type ufixed8x1 or use an explicit conversion. +// TypeError 9574: (50-65): Type rational_const 16 / 5 is not implicitly convertible to expected type bytes32. diff --git a/test/libsolidity/syntaxTests/nameAndTypeResolution/327_rational_index_access.sol b/test/libsolidity/syntaxTests/nameAndTypeResolution/327_rational_index_access.sol index 635d20392..6939fff6c 100644 --- a/test/libsolidity/syntaxTests/nameAndTypeResolution/327_rational_index_access.sol +++ b/test/libsolidity/syntaxTests/nameAndTypeResolution/327_rational_index_access.sol @@ -5,4 +5,4 @@ contract test { } } // ---- -// TypeError 2326: (77-79): Type rational_const 1 / 2 is not implicitly convertible to expected type uint256. Try converting to type ufixed8x1 or use an explicit conversion. +// TypeError 7407: (77-79): Type rational_const 1 / 2 is not implicitly convertible to expected type uint256. Rational number is fractional, use an explicit conversion instead. diff --git a/test/libsolidity/syntaxTests/nameAndTypeResolution/344_one_divided_by_three_integer_conversion.sol b/test/libsolidity/syntaxTests/nameAndTypeResolution/344_one_divided_by_three_integer_conversion.sol index 8a4213299..4c258fda7 100644 --- a/test/libsolidity/syntaxTests/nameAndTypeResolution/344_one_divided_by_three_integer_conversion.sol +++ b/test/libsolidity/syntaxTests/nameAndTypeResolution/344_one_divided_by_three_integer_conversion.sol @@ -4,4 +4,4 @@ contract test { } } // ---- -// TypeError 4486: (50-62): Type rational_const 1 / 3 is not implicitly convertible to expected type uint256. Try converting to type ufixed256x77 or use an explicit conversion. +// TypeError 9574: (50-62): Type rational_const 1 / 3 is not implicitly convertible to expected type uint256. Rational number is fractional, use an explicit conversion instead. diff --git a/test/libsolidity/syntaxTests/parsing/declaring_fixed_literal_variables.sol b/test/libsolidity/syntaxTests/parsing/declaring_fixed_literal_variables.sol index a9675f3f1..3b8f43b03 100644 --- a/test/libsolidity/syntaxTests/parsing/declaring_fixed_literal_variables.sol +++ b/test/libsolidity/syntaxTests/parsing/declaring_fixed_literal_variables.sol @@ -2,4 +2,4 @@ contract A { fixed40x40 pi = 3.14; } // ---- -// TypeError 2326: (33-37): Type rational_const 157 / 50 is not implicitly convertible to expected type fixed40x40. Try converting to type ufixed16x2 or use an explicit conversion. +// TypeError 7407: (33-37): Type rational_const 157 / 50 is not implicitly convertible to expected type fixed40x40. Number is too large for type. diff --git a/test/libsolidity/syntaxTests/types/rational_number_div_limit.sol b/test/libsolidity/syntaxTests/types/rational_number_div_limit.sol index 388e9d398..cdff4f1f2 100644 --- a/test/libsolidity/syntaxTests/types/rational_number_div_limit.sol +++ b/test/libsolidity/syntaxTests/types/rational_number_div_limit.sol @@ -6,4 +6,4 @@ contract c { } // ---- // TypeError 2271: (71-92): Operator / not compatible with types rational_const 1 / 5221...(1225 digits omitted)...5168 and int_const 5221...(1225 digits omitted)...5168. Precision of rational constants is limited to 4096 bits. -// TypeError 2326: (71-92): Type rational_const 1 / 5221...(1225 digits omitted)...5168 is not implicitly convertible to expected type int256. Try converting to type ufixed8x80 or use an explicit conversion. +// TypeError 7407: (71-92): Type rational_const 1 / 5221...(1225 digits omitted)...5168 is not implicitly convertible to expected type int256. Rational number is fractional, use an explicit conversion instead. diff --git a/test/libsolidity/syntaxTests/types/too_small_negative_numbers.sol b/test/libsolidity/syntaxTests/types/too_small_negative_numbers.sol index fa0ceac11..300e6ffca 100644 --- a/test/libsolidity/syntaxTests/types/too_small_negative_numbers.sol +++ b/test/libsolidity/syntaxTests/types/too_small_negative_numbers.sol @@ -2,4 +2,4 @@ contract C { fixed8x80 a = -1e-100; } // ---- -// TypeError 4426: (29-36): Type rational_const -1 / 1000...(93 digits omitted)...0000 is not implicitly convertible to expected type fixed8x80, but it can be explicitly converted. +// TypeError 7407: (29-36): Type rational_const -1 / 1000...(93 digits omitted)...0000 is not implicitly convertible to expected type fixed8x80. Conversion incurs precision loss. Use an explicit conversion instead.