fec1c7aa32
slightly improve protector-related error messages I find the current retag messages confusing, since they sound like the item *was* protected, when it still actively *is* protected (and that is, in fact, the issue). Example error message: ``` error: Undefined Behavior: not granting access to tag <3095> because incompatible item [Unique for <3099>] is protected by call 943 --> tests/fail/stacked_borrows/invalidate_against_barrier1.rs:5:25 | 5 | let _val = unsafe { *x }; //~ ERROR: protect | ^^ not granting access to tag <3095> because incompatible item [Unique for <3099>] is protected by call 943 | = 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: <3095> was created by a SharedReadWrite retag at offsets [0x0..0x4] --> tests/fail/stacked_borrows/invalidate_against_barrier1.rs:10:16 | 10 | let xraw = &mut x as *mut _; | ^^^^^^ help: <3095> cannot be used for memory access because that would remove protected tag <3099>, protected by this function call --> tests/fail/stacked_borrows/invalidate_against_barrier1.rs:1:1 | 1 | / fn inner(x: *mut i32, _y: &mut i32) { 2 | | // If `x` and `y` alias, retagging is fine with this... but we really 3 | | // shouldn't be allowed to use `x` at all because `y` was assumed to be 4 | | // unique for the duration of this call. 5 | | let _val = unsafe { *x }; //~ ERROR: protect 6 | | } | |_^ help: <3099> was derived from <3098>, which in turn was created here --> tests/fail/stacked_borrows/invalidate_against_barrier1.rs:12:17 | 12 | inner(xraw, xref); | ^^^^ = note: backtrace: = note: inside `inner` at tests/fail/stacked_borrows/invalidate_against_barrier1.rs:5:25 note: inside `main` at tests/fail/stacked_borrows/invalidate_against_barrier1.rs:12:5 --> tests/fail/stacked_borrows/invalidate_against_barrier1.rs:12:5 | 12 | inner(xraw, xref); | ^^^^^^^^^^^^^^^^^ ``` r? `@saethlin`