contract C { uint x; function f() pure public { g(); } function g() view public { x; } function h() view public { i(); } function i() public { x = 2; } } // ---- // TypeError 2527: (56-59): Function declared as pure, but this expression (potentially) reads from the environment or state and thus requires "view". // TypeError 8961: (130-133): Function cannot be declared as view because this expression (potentially) modifies the state.