solidity/test/libsolidity/semanticTests/libraries/internal_library_function_calling_private.sol
2020-03-19 14:42:25 +01:00

27 lines
639 B
Solidity

// tests that internal library functions that are called from outside and that
// themselves call private functions are still able to (i.e. the private function
// also has to be pulled into the caller's code)
// This has to work without linking, because everything will be inlined.
library L {
function g(uint256[] memory _data) private {
_data[3] = 2;
}
function f(uint256[] memory _data) internal {
g(_data);
}
}
contract C {
function f() public returns (uint256) {
uint256[] memory x = new uint256[](7);
x[3] = 8;
L.f(x);
return x[3];
}
}
// ----
// f() -> 2