*a = 1;
let _b = &*a; // This freezes `*a`. Frozen locations can be read by any raw pointer.
let _val = unsafe { *y; }; // Hence, this legal in Stacked Borrows.
- *a = 2; // But we might want to drop the earlier `*a = 1` because it gets overwritten by this!
+ *a = 2; // But we might want to drop the earlier `*a = 1` because it gets overwritten!
_val
}
{% endhighlight %}