SRI-CSL / solidity

This is solc-verify, a modular verifier for Solidity.
https://github.com/SRI-CSL/solidity/blob/boogie/SOLC-VERIFY-README.md
GNU General Public License v3.0
50 stars 14 forks source link

Unsupported identifier as base of local storage pointer #151

Closed dddejan closed 4 years ago

dddejan commented 4 years ago
contract test {
    mapping(uint=>uint) map;
    function fun() public view {
        mapping(uint=>uint) storage a = map;
        mapping(uint=>uint) storage b = map;
        b = a;
        (b) = a;
        (b, b) = (a, a);
    }
}
test/libsolidity/syntaxTests/types/mapping/assignment_local.sol:6:13: solc-verify error: Unsupported identifier as base of local storage pointer
        b = a;
            ^
test/libsolidity/syntaxTests/types/mapping/assignment_local.sol:7:15: solc-verify error: Unsupported identifier as base of local storage pointer
        (b) = a;
              ^
test/libsolidity/syntaxTests/types/mapping/assignment_local.sol:8:19: solc-verify error: Unsupported identifier as base of local storage pointer
        (b, b) = (a, a);
                  ^
test/libsolidity/syntaxTests/types/mapping/assignment_local.sol:8:22: solc-verify error: Unsupported identifier as base of local storage pointer
        (b, b) = (a, a);
                     ^
test/libsolidity/syntaxTests/types/mapping/assignment_local.sol:8:22: solc-verify error: Unsupported identifier as base of local storage pointer
        (b, b) = (a, a);
                     ^
test/libsolidity/syntaxTests/types/mapping/assignment_local.sol:8:19: solc-verify error: Unsupported identifier as base of local storage pointer
        (b, b) = (a, a);
                  ^
hajduakos commented 4 years ago

Fixed in 581f6cd (on the 0.7 branch)