diff --git a/test/libsolidity/syntaxTests/literalSuffixes/parameters/overloading_decimal_vs_decimal.sol b/test/libsolidity/syntaxTests/literalSuffixes/parameters/overloading_decimal_vs_decimal.sol index 769d0cef7..7856c47b4 100644 --- a/test/libsolidity/syntaxTests/literalSuffixes/parameters/overloading_decimal_vs_decimal.sol +++ b/test/libsolidity/syntaxTests/literalSuffixes/parameters/overloading_decimal_vs_decimal.sol @@ -1,19 +1,19 @@ -function uSuffix(uint8, uint) pure suffix returns (int8) {} -function uSuffix(uint16, uint) pure suffix returns (int16) {} +function uSuffix(uint8, uint) pure suffix returns (uint) {} +function uSuffix(uint16, uint) pure suffix returns (int) {} -function iSuffix(int8, uint) pure suffix returns (int24) {} -function iSuffix(int16, uint) pure suffix returns (int32) {} +function iSuffix(int8, uint) pure suffix returns (uint) {} +function iSuffix(int16, uint) pure suffix returns (int) {} -function iuSuffix(uint8, uint) pure suffix returns (int40) {} -function iuSuffix(int8, uint) pure suffix returns (int48) {} +function iuSuffix(uint8, uint) pure suffix returns (int) {} +function iuSuffix(int8, uint) pure suffix returns (uint) {} contract C { - int16 a = 1.024 uSuffix; - int32 b = 1.024 iSuffix; + int a = 1.024 uSuffix; + int b = 1.024 iSuffix; - int16 c = -1.024 uSuffix; - int32 d = -1.024 iSuffix; + int c = -1.024 uSuffix; + int d = -1.024 iSuffix; - int40 e = 2.55 iuSuffix; - int40 f = -2.55 iuSuffix; + int e = 2.55 iuSuffix; + int f = -2.55 iuSuffix; } diff --git a/test/libsolidity/syntaxTests/literalSuffixes/parameters/overloading_decimal_vs_decimal_ambiguous_sign.sol b/test/libsolidity/syntaxTests/literalSuffixes/parameters/overloading_decimal_vs_decimal_ambiguous_sign.sol index 2a690cef7..2c8d110c5 100644 --- a/test/libsolidity/syntaxTests/literalSuffixes/parameters/overloading_decimal_vs_decimal_ambiguous_sign.sol +++ b/test/libsolidity/syntaxTests/literalSuffixes/parameters/overloading_decimal_vs_decimal_ambiguous_sign.sol @@ -1,8 +1,8 @@ -function iuSuffix(uint8, uint) pure suffix returns (uint) {} -function iuSuffix(int8, uint) pure suffix returns (uint) {} +function iuSuffix(uint8, uint) pure suffix returns (int) {} +function iuSuffix(int8, uint) pure suffix returns (int) {} contract C { uint a = 1.27 iuSuffix; } // ---- -// TypeError 4487: (153-161): No unique declaration found after argument-dependent lookup. +// TypeError 4487: (151-159): No unique declaration found after argument-dependent lookup. diff --git a/test/libsolidity/syntaxTests/literalSuffixes/parameters/overloading_decimal_vs_decimal_ambiguous_size.sol b/test/libsolidity/syntaxTests/literalSuffixes/parameters/overloading_decimal_vs_decimal_ambiguous_size.sol index 6151cf2c9..b65bb66a3 100644 --- a/test/libsolidity/syntaxTests/literalSuffixes/parameters/overloading_decimal_vs_decimal_ambiguous_size.sol +++ b/test/libsolidity/syntaxTests/literalSuffixes/parameters/overloading_decimal_vs_decimal_ambiguous_size.sol @@ -1,8 +1,8 @@ -function uSuffix(uint8, uint) pure suffix returns (uint) {} -function uSuffix(uint16, uint) pure suffix returns (uint) {} +function uSuffix(uint8, uint) pure suffix returns (int) {} +function uSuffix(uint16, uint) pure suffix returns (int) {} contract C { uint a = 1.27 uSuffix; } // ---- -// TypeError 4487: (153-160): No unique declaration found after argument-dependent lookup. +// TypeError 4487: (151-158): No unique declaration found after argument-dependent lookup. diff --git a/test/libsolidity/syntaxTests/literalSuffixes/parameters/overloading_integer_vs_decimal.sol b/test/libsolidity/syntaxTests/literalSuffixes/parameters/overloading_integer_vs_decimal.sol index 717d57d31..67bf0346a 100644 --- a/test/libsolidity/syntaxTests/literalSuffixes/parameters/overloading_integer_vs_decimal.sol +++ b/test/libsolidity/syntaxTests/literalSuffixes/parameters/overloading_integer_vs_decimal.sol @@ -1,10 +1,13 @@ -function suffix256(uint) pure suffix returns (uint) {} -function suffix256(uint, uint) pure suffix returns (int) {} +function suffix256(uint) pure suffix returns (bool) {} +function suffix256(uint, uint) pure suffix returns (address) {} -function suffix8(uint) pure suffix returns (uint8) {} -function suffix8(uint8, uint) pure suffix returns (int8) {} +function suffix8(uint) pure suffix returns (bool) {} +function suffix8(uint8, uint) pure suffix returns (address) {} contract C { - int a = 1.1 suffix256; - uint8 b = 1024 suffix8; + // Not ambiguous: no way to convert 1.1 into uint. + address a = 1.1 suffix256; + + // Not ambiguous: 1024 won't fit into uint8. + bool b = 1024 suffix8; } diff --git a/test/libsolidity/syntaxTests/literalSuffixes/parameters/overloading_integer_vs_decimal_ambiguous.sol b/test/libsolidity/syntaxTests/literalSuffixes/parameters/overloading_integer_vs_decimal_ambiguous.sol index eaa874994..a575e1a5e 100644 --- a/test/libsolidity/syntaxTests/literalSuffixes/parameters/overloading_integer_vs_decimal_ambiguous.sol +++ b/test/libsolidity/syntaxTests/literalSuffixes/parameters/overloading_integer_vs_decimal_ambiguous.sol @@ -1,5 +1,5 @@ -function suffix(uint) pure suffix returns (int) {} -function suffix(uint, uint) pure suffix returns (int) {} +function suffix(uint) pure suffix returns (bool) {} +function suffix(uint, uint) pure suffix returns (address) {} contract C { function f() public pure { @@ -7,4 +7,4 @@ contract C { } } // ---- -// TypeError 4487: (171-177): No unique declaration found after argument-dependent lookup. +// TypeError 4487: (176-182): No unique declaration found after argument-dependent lookup. diff --git a/test/libsolidity/syntaxTests/literalSuffixes/parameters/overloading_integer_vs_integer.sol b/test/libsolidity/syntaxTests/literalSuffixes/parameters/overloading_integer_vs_integer.sol index 17c9957b2..32d8e5f04 100644 --- a/test/libsolidity/syntaxTests/literalSuffixes/parameters/overloading_integer_vs_integer.sol +++ b/test/libsolidity/syntaxTests/literalSuffixes/parameters/overloading_integer_vs_integer.sol @@ -1,19 +1,19 @@ -function uSuffix(uint8) pure suffix returns (int8) {} -function uSuffix(uint16) pure suffix returns (int16) {} +function uSuffix(uint8) pure suffix returns (uint) {} +function uSuffix(uint16) pure suffix returns (int) {} -function iSuffix(int8) pure suffix returns (int24) {} -function iSuffix(int16) pure suffix returns (int32) {} +function iSuffix(int8) pure suffix returns (uint) {} +function iSuffix(int16) pure suffix returns (int) {} -function iuSuffix(uint8) pure suffix returns (int40) {} -function iuSuffix(int8) pure suffix returns (int48) {} +function iuSuffix(uint8) pure suffix returns (int) {} +function iuSuffix(int8) pure suffix returns (uint) {} contract C { - int16 a = 1024 uSuffix; - int32 b = 1024 iSuffix; + int a = 1024 uSuffix; + int b = 1024 iSuffix; - int16 c = -1024 uSuffix; - int32 d = -1024 iSuffix; + int c = -1024 uSuffix; + int d = -1024 iSuffix; - int40 e = 255 iuSuffix; - int40 f = -255 iuSuffix; + int e = 255 iuSuffix; + int f = -255 iuSuffix; }