|
1 | 1 | error: Undefined Behavior: trying to retag from <TAG> for SharedReadOnly permission at ALLOC[0x4], but that tag does not exist in the borrow stack for this location |
2 | 2 | --> $DIR/return_invalid_shr_option.rs:LL:CC |
3 | 3 | | |
4 | | -LL | Some(_x) => {} |
5 | | - | ^^ |
6 | | - | | |
7 | | - | trying to retag from <TAG> for SharedReadOnly permission at ALLOC[0x4], but that tag does not exist in the borrow stack for this location |
8 | | - | this error occurs as part of retag at ALLOC[0x4..0x8] |
| 4 | +LL | ret |
| 5 | + | ^^^ |
| 6 | + | | |
| 7 | + | trying to retag from <TAG> for SharedReadOnly permission at ALLOC[0x4], but that tag does not exist in the borrow stack for this location |
| 8 | + | this error occurs as part of retag at ALLOC[0x4..0x8] |
9 | 9 | | |
10 | 10 | = help: this indicates a potential bug in the program: it performed an invalid operation, but the Stacked Borrows rules it violated are still experimental |
11 | 11 | = help: see https://github.com/rust-lang/unsafe-code-guidelines/blob/master/wip/stacked-borrows.md for further information |
12 | 12 | help: <TAG> was created by a SharedReadOnly retag at offsets [0x4..0x8] |
13 | 13 | --> $DIR/return_invalid_shr_option.rs:LL:CC |
14 | 14 | | |
15 | 15 | LL | let ret = Some(unsafe { &(*xraw).1 }); |
16 | | - | ^^^^^^^^^^ |
| 16 | + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
17 | 17 | help: <TAG> was later invalidated at offsets [0x0..0x8] by a write access |
18 | 18 | --> $DIR/return_invalid_shr_option.rs:LL:CC |
19 | 19 | | |
20 | 20 | LL | unsafe { *xraw = (42, 23) }; // unfreeze |
21 | 21 | | ^^^^^^^^^^^^^^^^ |
22 | 22 | = note: BACKTRACE: |
23 | | - = note: inside `main` at $DIR/return_invalid_shr_option.rs:LL:CC |
| 23 | + = note: inside `foo` at $DIR/return_invalid_shr_option.rs:LL:CC |
| 24 | +note: inside `main` at $DIR/return_invalid_shr_option.rs:LL:CC |
| 25 | + --> $DIR/return_invalid_shr_option.rs:LL:CC |
| 26 | + | |
| 27 | +LL | match foo(&mut (1, 2)) { |
| 28 | + | ^^^^^^^^^^^^^^^^ |
24 | 29 |
|
25 | 30 | note: some details are omitted, run with `MIRIFLAGS=-Zmiri-backtrace=full` for a verbose backtrace |
26 | 31 |
|
|
0 commit comments