solidity/test/libsolidity/semanticTests/functionCall/calling_nonexisting_contract_throws.sol

32 lines
518 B
Solidity

abstract contract D {
function g() public virtual;
}
contract C {
D d = D(0x1212);
function f() public returns (uint256) {
d.g();
return 7;
}
function g() public returns (uint256) {
d.g{gas: 200}();
return 7;
}
function h() public returns (uint256) {
address(d).call(""); // this does not throw (low-level)
return 7;
}
}
// ====
// compileViaYul: also
// compileToEwasm: also
// ----
// f() -> FAILURE
// g() -> FAILURE
// h() -> 7