solidity/test/libsolidity/syntaxTests/multiSource/free_function_resolution_override_virtual.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

20 lines
622 B
Solidity

==== Source: s1.sol ====
function f() pure returns (uint) { return 1337; }
contract C {
function f() public pure virtual returns (uint) {
return f();
}
}
==== Source: s2.sol ====
import "s1.sol";
function f() pure returns (uint) { return 42; }
contract D is C {
function f() public pure override returns (uint) {
return f();
}
}
// ----
// Warning 2519: (s1.sol:65-134): This declaration shadows an existing declaration.
// Warning 2519: (s2.sol:85-155): This declaration shadows an existing declaration.
// DeclarationError 1686: (s2.sol:17-64): Function with same name and parameter types defined twice.