solidity/test/libsolidity/semanticTests/various/code_access_padding.sol
2020-03-19 14:42:25 +01:00

20 lines
440 B
Solidity

contract D {
function f() public pure returns (uint256) {
return 7;
}
}
contract C {
function diff() public pure returns (uint256 remainder) {
bytes memory a = type(D).creationCode;
bytes memory b = type(D).runtimeCode;
assembly {
remainder := mod(sub(b, a), 0x20)
}
}
}
// ----
// diff() -> 0 # This checks that the allocation function pads to multiples of 32 bytes #