| error[E0502]: cannot borrow `heap` as immutable because it is also borrowed as mutable |
| --> $DIR/issue-47646.rs:9:30 |
| | |
| LL | let borrow = heap.peek_mut(); |
| | ---- mutable borrow occurs here |
| LL | |
| LL | match (borrow, ()) { |
| | ------------ a temporary with access to the mutable borrow is created here ... |
| LL | (Some(_), ()) => { |
| LL | println!("{:?}", heap); |
| | ^^^^ immutable borrow occurs here |
| ... |
| LL | }; |
| | - ... and the mutable borrow might be used here, when that temporary is dropped and runs the destructor for type `(Option<PeekMut<'_, i32>>, ())` |
| | |
| = note: this error originates in the macro `$crate::format_args_nl` which comes from the expansion of the macro `println` (in Nightly builds, run with -Z macro-backtrace for more info) |
| |
| error: aborting due to 1 previous error |
| |
| For more information about this error, try `rustc --explain E0502`. |