solidity/test/libsolidity/semanticTests/multiSource/free_function_transitive_import.sol
Bhargava Shastry e2a2276272 Contract level checker: Disallow free function redefinition and alias
shadowing another free function

Co-authored-by: chriseth <chris@ethereum.org>
2020-09-25 17:09:58 +02:00

28 lines
492 B
Solidity

==== Source: s1.sol ====
function f() pure returns (uint) { return 1337; }
contract C {
function g() public pure returns (uint) {
return f();
}
}
==== Source: s2.sol ====
import "s1.sol";
contract D is C {
function h() public pure returns (uint) {
return g();
}
}
==== Source: s3.sol ====
import "s2.sol";
import {f as f} from "s2.sol";
contract E is D {
function i() public pure returns (uint) {
return f();
}
}
// ====
// compileViaYul: also
// ----
// i() -> 1337