solidity/test/libsolidity/semanticTests/structs/structs.sol
Daniel Kirchner 1a0605c594 Update tests.
2021-11-03 12:39:55 +01:00

39 lines
973 B
Solidity

contract test {
struct s1 {
uint8 x;
bool y;
}
struct s2 {
uint32 z;
s1 s1data;
mapping(uint8 => s2) recursive;
}
s2 data;
function check() public returns (bool ok) {
return data.z == 1 && data.s1data.x == 2 &&
data.s1data.y == true &&
data.recursive[3].recursive[4].z == 5 &&
data.recursive[4].recursive[3].z == 6 &&
data.recursive[0].s1data.y == false &&
data.recursive[4].z == 9;
}
function set() public {
data.z = 1;
data.s1data.x = 2;
data.s1data.y = true;
data.recursive[3].recursive[4].z = 5;
data.recursive[4].recursive[3].z = 6;
data.recursive[0].s1data.y = false;
data.recursive[4].z = 9;
}
}
// ====
// compileViaYul: also
// ----
// check() -> false
// set() ->
// gas irOptimized: 134335
// gas legacy: 135277
// gas legacyOptimized: 134064
// check() -> true