contract C { function f() payable public returns (C) { return this; } function g() pure public returns (bytes4) { C x = C(address(0x123)); return x.f.selector; } }