-LL | (|| { let bar = foo; bar.take() })();
- | ^^ ---
- | | |
- | | move occurs because `foo` has type `&mut std::option::Option<&i32>`, which does not implement the `Copy` trait
- | | move occurs due to use in closure
- | move out of `foo` occurs here
+LL | let x = &mut block;
+ | ---------- mutable borrow occurs here
+LL | let p: &'a u8 = &*block.current;
+ | ^^^^^^^^^^^^^^^ immutable borrow occurs here
+LL | // (use `x` and `p` so enabling NLL doesn't assign overly short lifetimes)
+LL | drop(x);
+ | - mutable borrow later used here