diff options
Diffstat (limited to 'src/tools/miri/tests/fail/tree-borrows/outside-range.stderr')
-rw-r--r-- | src/tools/miri/tests/fail/tree-borrows/outside-range.stderr | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/src/tools/miri/tests/fail/tree-borrows/outside-range.stderr b/src/tools/miri/tests/fail/tree-borrows/outside-range.stderr index 4396c63679e..14696c704fc 100644 --- a/src/tools/miri/tests/fail/tree-borrows/outside-range.stderr +++ b/src/tools/miri/tests/fail/tree-borrows/outside-range.stderr @@ -1,11 +1,24 @@ -error: Undefined Behavior: write access through <TAG> is forbidden because it is a foreign tag for <TAG>, which would hence change from Reserved to Disabled, but <TAG> is protected +error: Undefined Behavior: write access through <TAG> is forbidden --> $DIR/outside-range.rs:LL:CC | LL | *y.add(3) = 42; - | ^^^^^^^^^^^^^^ write access through <TAG> is forbidden because it is a foreign tag for <TAG>, which would hence change from Reserved to Disabled, but <TAG> is protected + | ^^^^^^^^^^^^^^ write access through <TAG> is forbidden | = help: this indicates a potential bug in the program: it performed an invalid operation, but the Tree Borrows rules it violated are still experimental - = note: BACKTRACE: + = help: the accessed tag <TAG> is foreign to the protected tag <TAG> (i.e., it is not a child) + = help: the access would cause the protected tag <TAG> to transition from Reserved to Disabled + = help: this is a loss of read and write permissions, which is not allowed for protected tags +help: the accessed tag <TAG> was created here + --> $DIR/outside-range.rs:LL:CC + | +LL | let raw = data.as_mut_ptr(); + | ^^^^^^^^^^^^^^^^^ +help: the protected tag <TAG> was created here, in the initial state Reserved + --> $DIR/outside-range.rs:LL:CC + | +LL | unsafe fn stuff(x: &mut u8, y: *mut u8) { + | ^ + = note: BACKTRACE (of the first span): = note: inside `stuff` at $DIR/outside-range.rs:LL:CC note: inside `main` --> $DIR/outside-range.rs:LL:CC |