solidity/test/libsolidity/semanticTests/libraries/using_library_structs.sol
2023-05-11 10:56:55 -05:00

25 lines
498 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];
}
}
// ----
// library: Lib
// f() -> 7, 8
// gas irOptimized: 101818
// gas legacy: 101429