(&mut self, addr: Addr)
| 160 | |
| 161 | impl ValueWriterT for ValueWriter<'_> { |
| 162 | fn p_alloc_env(&mut self, addr: Addr) -> bool { |
| 163 | if self.env.get(&addr).is_some() { |
| 164 | // this ensures the deepest ref is always written first |
| 165 | let val = self.env.shift_remove(&addr).expect("addr exists"); |
| 166 | self.env.insert(addr, val); |
| 167 | false |
| 168 | } else { |
| 169 | self.env.insert(addr, None); |
| 170 | true |
| 171 | } |
| 172 | } |
| 173 | |
| 174 | fn p_set_env(&mut self, addr: Addr, val: Bytes) { |
| 175 | *self.env.get_mut(&addr).expect("addr exists") = Some(val); |