solidity/test/libsolidity/syntaxTests/literalSuffixes/parameters/too_many_parameters.sol
2023-03-22 13:16:31 +01:00

33 lines
1.7 KiB
Solidity

function uintUintUintSuffix(uint, uint, uint) pure suffix returns (uint) { return 1; }
function stringStringStringSuffix(string memory, string memory, string memory) pure suffix returns (uint) { return 1; }
function uintStringSuffix(uint, string memory) pure suffix returns (uint) { return 1; }
function stringUintSuffix(string memory, uint) pure suffix returns (uint) { return 1; }
contract C {
function f() public pure {
1 uintUintUintSuffix;
1 stringStringStringSuffix;
1 uintStringSuffix;
1 stringUintSuffix;
1.1 uintUintUintSuffix;
1.1 stringStringStringSuffix;
1.1 uintStringSuffix;
1.1 stringUintSuffix;
"a" uintUintUintSuffix;
"a" stringStringStringSuffix;
"a" uintStringSuffix;
"a" stringUintSuffix;
}
}
// ----
// TypeError 9128: (27-45): Functions that take 3 or more arguments cannot be used as literal suffixes.
// TypeError 9128: (120-165): Functions that take 3 or more arguments cannot be used as literal suffixes.
// TypeError 8838: (502-520): The type of the literal cannot be converted to the parameters of the suffix function.
// TypeError 8838: (530-548): The type of the literal cannot be converted to the parameters of the suffix function.
// TypeError 8838: (629-649): The type of the literal cannot be converted to the parameters of the suffix function.
// TypeError 8838: (659-679): The type of the literal cannot be converted to the parameters of the suffix function.
// TypeError 2505: (760-780): Functions that take 2 arguments can only be used as literal suffixes for rational numbers.
// TypeError 2505: (790-810): Functions that take 2 arguments can only be used as literal suffixes for rational numbers.