mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
40 lines
645 B
Solidity
40 lines
645 B
Solidity
contract C {
|
|
uint256 x;
|
|
|
|
function f() public returns (uint256) {
|
|
x = 3;
|
|
return 1;
|
|
}
|
|
}
|
|
|
|
|
|
interface CView {
|
|
function f() external view returns (uint256);
|
|
}
|
|
|
|
|
|
interface CPure {
|
|
function f() external pure returns (uint256);
|
|
}
|
|
|
|
|
|
contract D {
|
|
function f() public returns (uint256) {
|
|
return (new C()).f();
|
|
}
|
|
|
|
function fview() public returns (uint256) {
|
|
return (CView(address(new C()))).f();
|
|
}
|
|
|
|
function fpure() public returns (uint256) {
|
|
return (CPure(address(new C()))).f();
|
|
}
|
|
}
|
|
// ====
|
|
// EVMVersion: <byzantium
|
|
// ----
|
|
// f() -> 0x1
|
|
// fview() -> 1
|
|
// fpure() -> 1
|