mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
29 lines
1.1 KiB
Solidity
29 lines
1.1 KiB
Solidity
library L {
|
|
function pub() public pure returns (uint) {
|
|
return 7;
|
|
}
|
|
function inter() internal pure returns (uint) {
|
|
return 8;
|
|
}
|
|
}
|
|
|
|
function fu() pure returns (uint, uint) {
|
|
return (L.pub(), L.inter());
|
|
}
|
|
|
|
contract C {
|
|
function f() public pure {
|
|
(uint x, uint y) = fu();
|
|
assert(x == 7); // should hold but SMTChecker doesn't implement delegatecall
|
|
assert(y == 9); // should fail
|
|
}
|
|
}
|
|
// ====
|
|
// SMTEngine: all
|
|
// ----
|
|
// Warning 4588: (190-197): Assertion checker does not yet implement this type of function call.
|
|
// Warning 4588: (190-197): Assertion checker does not yet implement this type of function call.
|
|
// Warning 6328: (284-298): CHC: Assertion violation happens here.\nCounterexample:\n\nx = 8\ny = 8\n\nTransaction trace:\nC.constructor()\nC.f()\n fu() -- internal call\n L.inter() -- internal call
|
|
// Warning 6328: (363-377): CHC: Assertion violation happens here.\nCounterexample:\n\nx = 0\ny = 8\n\nTransaction trace:\nC.constructor()\nC.f()\n fu() -- internal call\n L.inter() -- internal call
|
|
// Warning 4588: (190-197): Assertion checker does not yet implement this type of function call.
|