For certain Sierra instructions (store_temp, store_local, dup), produced and consumed variables re-use the same IDs. For example: store_temp([0]) -> [0].
Re-used ids result in shadowing of variables. For example, in function:
fn foo(x: felt252) {
let mut y = x;
y += 1;
}
we show only y in Variables.
In general, this results in bugs in aliasing and re-binding.
For certain Sierra instructions (
store_temp,store_local,dup), produced and consumed variables re-use the same IDs. For example:store_temp([0]) -> [0].Re-used ids result in shadowing of variables. For example, in function:
we show only
yin Variables.In general, this results in bugs in aliasing and re-binding.