about summary refs log tree commit diff
path: root/src/tools/miri/tests/fail/async-shared-mutable.stack.stderr
blob: bc3db8c6801b02a5e4f67d13840d4d081eaa9ba3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
error: Undefined Behavior: attempting a write access using <TAG> at ALLOC[OFFSET], 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[OFFSET]
   |
   = 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 [OFFSET]
  --> 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 [OFFSET] 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: BACKTRACE (of the first span):
   = note: inside closure at tests/fail/async-shared-mutable.rs:LL:CC
   = note: inside `<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
note: inside closure
  --> tests/fail/async-shared-mutable.rs:LL:CC
   |
LL |         .await
   |          ^^^^^
note: inside `main`
  --> tests/fail/async-shared-mutable.rs:LL:CC
   |
LL |     assert_eq!(f.as_mut().poll(&mut cx), Poll::Pending);
   |                ^^^^^^^^^^^^^^^^^^^^^^^^

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

error: aborting due to 1 previous error