Skip to content

View-pure checker misses reads from storage pointer variable #11573

Open
@chriseth

Description

@chriseth
contract Storage {
    struct S { uint x; }
    S t;

    function store(S storage x) internal {
        S memory y = x;
    }
    
    function f() public {
        store(t);   
    }
}

Function store is considered pure. Same if x is used in function call conversion to memory. Reading members from x is properly detected.

Metadata

Metadata

Assignees

Labels

bug 🐛high effortA lot to implement but still doable by a single person. The task is large or difficult.medium impactDefault level of impactmust haveSomething we consider an essential part of Solidity 1.0.should report errorCompiles without errors but should not.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions