mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
24 lines
576 B
Solidity
24 lines
576 B
Solidity
pragma abicoder v2;
|
|
|
|
contract C {
|
|
function gggg(bool x) external pure returns (bool) {
|
|
return x;
|
|
}
|
|
function f(uint256 a) external view returns (bool) {
|
|
bool x = false;
|
|
assembly { x := a }
|
|
return this.gggg(x);
|
|
}
|
|
}
|
|
// ====
|
|
// compileViaYul: also
|
|
// ----
|
|
// f(uint256): 0 -> false
|
|
// gggg(bool): 0 -> false # test validation as well as sanity check #
|
|
// f(uint256): 1 -> true
|
|
// gggg(bool): 1 -> true
|
|
// f(uint256): 2 -> true
|
|
// gggg(bool): 2 -> FAILURE
|
|
// f(uint256): 0x1000 -> true
|
|
// gggg(bool): 0x1000 -> FAILURE
|