Mutability check is incomplete
LucasSte opened this issue · 0 comments
LucasSte commented
Our implementation for the mutability check does not cover all cases needed and needs a major overhaul. The following contract, for instance, should not work because test
is not a view function.
contract C {
bool x;
int[4] a;
function test() public view returns (int) {
return foo()[1];
}
function foo() internal returns (int[4] storage) {
x = true;
return a;
}
}