fn mutates_var<'hir>(
hir: &'hir Hir<'hir>,
stmt: &'hir Stmt<'hir>,
var: VariableId,
) -> boolExpand description
Whether a statement assigns to var: var = x, var += x, var++, delete var, or var
as a component of a tuple assignment. An assembly block is treated as an opaque assignment,
since it can rewrite Solidity locals outside the HIR expression tree. Identity here is by
variable, not by value, so a guard that checked var says nothing once var is reassigned:
the delegation then credits a value or an address the guard never saw, though the two spell
the same variable.