mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
25 lines
498 B
Solidity
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
|