solidity/test/libsolidity/semanticTests/libraries/using_library_structs.sol
2022-05-19 20:23:28 +02:00

27 lines
531 B
Solidity

library Lib {
struct Data { uint a; uint[] b; }
function set(Data storage _s) public
{
_s.a = 7;
while (_s.b.length < 20)
_s.b.push();
_s.b[19] = 8;
}
}
contract Test {
mapping(string => Lib.Data) data;
function f() public returns (uint a, uint b)
{
Lib.set(data["abc"]);
a = data["abc"].a;
b = data["abc"].b[19];
}
}
// ====
// compileToEwasm: false
// ----
// library: Lib
// f() -> 7, 8
// gas irOptimized: 101818
// gas legacy: 101504