solidity/test/libsolidity/semanticTests/inlineAssembly/inline_assembly_storage_access_via_pointer.sol

26 lines
453 B
Solidity
Raw Normal View History

contract C {
struct Data {
uint256 contents;
}
uint256 public separator;
Data public a;
uint256 public separator2;
function f() public returns (bool) {
Data storage x = a;
uint256 off;
assembly {
sstore(x.slot, 7)
off := x.offset
}
assert(off == 0);
return true;
}
}
// ----
// f() -> true
// a() -> 7
// separator() -> 0
// separator2() -> 0