mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
42 lines
764 B
Solidity
42 lines
764 B
Solidity
contract C {
|
|
mapping (uint => uint)[][] a;
|
|
|
|
function n1(uint key, uint value) public {
|
|
a.push();
|
|
mapping (uint => uint)[] storage b = a[a.length - 1];
|
|
b.push();
|
|
b[b.length - 1][key] = value;
|
|
}
|
|
|
|
function n2() public {
|
|
a.push();
|
|
mapping (uint => uint)[] storage b = a[a.length - 1];
|
|
b.push();
|
|
}
|
|
|
|
function map(uint key) public view returns (uint) {
|
|
mapping (uint => uint)[] storage b = a[a.length - 1];
|
|
return b[b.length - 1][key];
|
|
}
|
|
|
|
function p() public {
|
|
a.pop();
|
|
}
|
|
|
|
function d() public returns (uint) {
|
|
delete a;
|
|
return a.length;
|
|
}
|
|
}
|
|
// ====
|
|
// compileViaYul: also
|
|
// ----
|
|
// n1(uint256,uint256): 42, 64 ->
|
|
// map(uint256): 42 -> 64
|
|
// p() ->
|
|
// n2() ->
|
|
// map(uint256): 42 -> 64
|
|
// d() -> 0
|
|
// n2() ->
|
|
// map(uint256): 42 -> 64
|