error: Undefined Behavior: attempting a write access using <TAG> at ALLOC[RANGE], but that tag does not exist in the borrow stack for this location
  --> tests/fail/async-shared-mutable.rs:LL:CC
   |
LL |             *x = 1;
   |             ^^^^^^ this error occurs as part of an access at ALLOC[RANGE]
   |
   = help: this indicates a potential bug in the program: it performed an invalid operation, but the Stacked Borrows rules it violated are still experimental
   = help: see https://github.com/rust-lang/unsafe-code-guidelines/blob/master/wip/stacked-borrows.md for further information
help: <TAG> was created by a Unique retag at offsets [RANGE]
  --> tests/fail/async-shared-mutable.rs:LL:CC
   |
LL | /         core::future::poll_fn(move |_| {
LL | |             *x = 1;
LL | |             Poll::<()>::Pending
LL | |         })
LL | |         .await
   | |______________^
help: <TAG> was later invalidated at offsets [RANGE] by a SharedReadOnly retag
  --> tests/fail/async-shared-mutable.rs:LL:CC
   |
LL |     let _: Pin<&_> = f.as_ref(); // Or: `f.as_mut().into_ref()`.
   |                      ^^^^^^^^^^
   = note: stack backtrace:
           0: main::{closure#0}::{closure#0}
               at tests/fail/async-shared-mutable.rs:LL:CC
           1: <std::future::PollFn<{closure@tests/fail/async-shared-mutable.rs:LL:CC}> as std::future::Future>::poll
               at RUSTLIB/core/src/future/poll_fn.rs:LL:CC
           2: main::{closure#0}
               at tests/fail/async-shared-mutable.rs:LL:CC
           3: main
               at tests/fail/async-shared-mutable.rs:LL:CC

note: some details are omitted, run with `MIRIFLAGS=-Zmiri-backtrace=full` for a verbose backtrace

error: aborting due to 1 previous error

