When running the compiler with the debug_info flag, the expected variables_registers omits shadowed variables, and their registers will be unknown in the output as a result.
Code example:
contract C =
entrypoint f(x) =
let x = x + x
x + x
The variables_registers map in the output from the compilation of the above example:
In the above map, the register associated with the argument x (which should be {arg, 0}) does not show in the map because the arg x is shadowed by the variable x.
When running the compiler with the
debug_info
flag, the expectedvariables_registers
omits shadowed variables, and their registers will be unknown in the output as a result.Code example:
The
variables_registers
map in the output from the compilation of the above example:In the above map, the register associated with the argument
x
(which should be{arg, 0}
) does not show in the map because the argx
is shadowed by the variablex
.