Closed
Description
That is, given let x = expr;
, MIR will produce the same code as let x; x = expr;
(modulo borrows).
When breaking inside expr
in a debugger, x
will be in scope, uninitialized.
It can be really annoying when dealing with shadowing or arguments.
For example, if you break on the call in let x = ...; let x = f(x);
and try to print x
, you will get the second x
, which is uninitialized at that point.