···7979 for (id, var) in cp.variables.borrow().iter() {
8080 match var {
8181 Variable::Owned(pointer) => {
8282- if let Some(pointer) = cp.upvalues.borrow().get(id) {
8282+ if let Some(pointer) = cp.shadow_root().upvalues.borrow().get(id) {
8383 // We have detected this variable as referenced in a future scope, so we have to close it
8484 let upvalue = self.trilogy_reference_assume(*pointer);
8585 self.trilogy_reference_close(upvalue);