Take the following code snippet:
pragma solidity ^0.8.0;
contract MyContract {
function foo() public returns (uint256 result) {
// do unsafe work
}
function bar() public returns (uint256 result) {
unchecked {
uint256 foo_value = foo();
// do safe work
}
}
Does the unchecked
block in the bar
function disable the safety checks in the foo
function?