mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
43 lines
3.5 KiB
Solidity
43 lines
3.5 KiB
Solidity
abstract contract Test
|
|
{
|
|
function uint256_to_uint256(uint256 x) internal pure returns (uint256) { return x; }
|
|
function uint256_to_string(uint256 x) internal pure returns (string memory) { return x == 0 ? "a" : "b"; }
|
|
function uint256_to_string_storage(uint256) internal pure returns (string storage) {}
|
|
function string_to_uint256(string memory x) internal pure returns (uint256) { return bytes(x).length; }
|
|
function string_to_string(string memory x) internal pure returns (string memory) { return x; }
|
|
|
|
function uint256_uint256_to_uint256(uint256 x, uint256 y) internal pure returns (uint256) { return x + y; }
|
|
function uint256_uint256_to_string(uint256 x, uint256 y) internal pure returns (string memory) { return x == y ? "a" : "b"; }
|
|
function string_uint256_to_string(string memory x, uint256 y) internal pure returns (string memory) { return y == 0 ? "a" : x; }
|
|
function string_string_to_string(string memory x, string memory y) internal pure returns (string memory) { return bytes(x).length == 0 ? y : x; }
|
|
function uint256_string_to_string(uint256 x, string memory y) internal pure returns (string memory) { return x == 0 ? "a" : y; }
|
|
|
|
function tests() internal pure
|
|
{
|
|
function (uint256) internal pure returns (uint256) var_uint256_to_uint256 = uint256_to_string;
|
|
function (uint256) internal pure returns (string memory) var_uint256_to_string = uint256_to_string_storage;
|
|
function (string memory) internal pure returns (uint256) var_string_to_uint256 = uint256_to_string;
|
|
function (string memory) internal pure returns (string memory) var_string_to_string = var_uint256_to_string;
|
|
|
|
function (uint256, uint256) internal pure returns (uint256) var_uint256_uint256_to_uint256 = uint256_to_uint256;
|
|
function (string memory, uint256) internal pure returns (string memory) var_string_uint256_to_string = string_to_string;
|
|
function (string memory, string memory) internal pure returns (string memory) var_string_string_to_string = string_to_string;
|
|
|
|
var_uint256_to_uint256(1);
|
|
var_uint256_to_string(2);
|
|
var_string_to_uint256("a");
|
|
var_string_to_string("b");
|
|
var_uint256_uint256_to_uint256(3, 4);
|
|
var_string_uint256_to_string("c", 7);
|
|
var_string_string_to_string("d", "e");
|
|
}
|
|
}
|
|
// ----
|
|
// TypeError: (1229-1322): Type function (uint256) pure returns (string memory) is not implicitly convertible to expected type function (uint256) pure returns (uint256).
|
|
// TypeError: (1330-1436): Type function (uint256) pure returns (string storage pointer) is not implicitly convertible to expected type function (uint256) pure returns (string memory).
|
|
// TypeError: (1444-1542): Type function (uint256) pure returns (string memory) is not implicitly convertible to expected type function (string memory) pure returns (uint256).
|
|
// TypeError: (1550-1657): Type function (uint256) pure returns (string memory) is not implicitly convertible to expected type function (string memory) pure returns (string memory).
|
|
// TypeError: (1666-1777): Type function (uint256) pure returns (uint256) is not implicitly convertible to expected type function (uint256,uint256) pure returns (uint256).
|
|
// TypeError: (1785-1904): Type function (string memory) pure returns (string memory) is not implicitly convertible to expected type function (string memory,uint256) pure returns (string memory).
|
|
// TypeError: (1912-2036): Type function (string memory) pure returns (string memory) is not implicitly convertible to expected type function (string memory,string memory) pure returns (string memory).
|