contract C { uint immutable x; constructor() { x = 3; readX().selector; } function f() external view returns(uint) { return x; } function readX() public view returns(function() external view returns(uint) _f) { _f = this.f; } } // ----