about summary refs log tree commit diff
path: root/src/tools/miri/tests/fail
diff options
context:
space:
mode:
authorBen Kimock <kimockb@gmail.com>2022-12-21 21:11:19 -0500
committerBen Kimock <kimockb@gmail.com>2022-12-21 21:11:19 -0500
commitc2f459ca74ee3724c273ca6fccf4015a67fc4a7d (patch)
treedbc666e2e0539a897d4711651d2a0a16bf6155a5 /src/tools/miri/tests/fail
parent749b2b077d0e350dd3ebeac014ab1f3c31d92ca3 (diff)
downloadrust-c2f459ca74ee3724c273ca6fccf4015a67fc4a7d.tar.gz
rust-c2f459ca74ee3724c273ca6fccf4015a67fc4a7d.zip
Clean up implementation, deduplicate in errors
Diffstat (limited to 'src/tools/miri/tests/fail')
-rw-r--r--src/tools/miri/tests/fail/data_race/alloc_read_race.stderr11
-rw-r--r--src/tools/miri/tests/fail/data_race/alloc_write_race.stderr11
-rw-r--r--src/tools/miri/tests/fail/data_race/atomic_read_na_write_race1.stderr11
-rw-r--r--src/tools/miri/tests/fail/data_race/atomic_read_na_write_race2.stderr11
-rw-r--r--src/tools/miri/tests/fail/data_race/atomic_write_na_read_race1.stderr11
-rw-r--r--src/tools/miri/tests/fail/data_race/atomic_write_na_read_race2.stderr11
-rw-r--r--src/tools/miri/tests/fail/data_race/atomic_write_na_write_race1.stderr11
-rw-r--r--src/tools/miri/tests/fail/data_race/atomic_write_na_write_race2.stderr11
-rw-r--r--src/tools/miri/tests/fail/data_race/dangling_thread_async_race.stderr11
-rw-r--r--src/tools/miri/tests/fail/data_race/dangling_thread_race.stderr11
-rw-r--r--src/tools/miri/tests/fail/data_race/dealloc_read_race1.stderr16
-rw-r--r--src/tools/miri/tests/fail/data_race/dealloc_read_race_stack.stderr11
-rw-r--r--src/tools/miri/tests/fail/data_race/dealloc_write_race1.stderr16
-rw-r--r--src/tools/miri/tests/fail/data_race/dealloc_write_race_stack.stderr11
-rw-r--r--src/tools/miri/tests/fail/data_race/enable_after_join_to_main.stderr11
-rw-r--r--src/tools/miri/tests/fail/data_race/fence_after_load.stderr11
-rw-r--r--src/tools/miri/tests/fail/data_race/read_write_race.stderr11
-rw-r--r--src/tools/miri/tests/fail/data_race/read_write_race_stack.stderr11
-rw-r--r--src/tools/miri/tests/fail/data_race/relax_acquire_race.stderr11
-rw-r--r--src/tools/miri/tests/fail/data_race/release_seq_race.stderr11
-rw-r--r--src/tools/miri/tests/fail/data_race/release_seq_race_same_thread.stderr11
-rw-r--r--src/tools/miri/tests/fail/data_race/rmw_race.stderr11
-rw-r--r--src/tools/miri/tests/fail/data_race/stack_pop_race.stderr11
-rw-r--r--src/tools/miri/tests/fail/data_race/write_write_race.stderr11
-rw-r--r--src/tools/miri/tests/fail/data_race/write_write_race_stack.stderr11
-rw-r--r--src/tools/miri/tests/fail/stacked_borrows/retag_data_race_read.stderr11
-rw-r--r--src/tools/miri/tests/fail/stacked_borrows/retag_data_race_write.stderr11
27 files changed, 81 insertions, 226 deletions
diff --git a/src/tools/miri/tests/fail/data_race/alloc_read_race.stderr b/src/tools/miri/tests/fail/data_race/alloc_read_race.stderr
index 510b177fc7e..ff79f07ba87 100644
--- a/src/tools/miri/tests/fail/data_race/alloc_read_race.stderr
+++ b/src/tools/miri/tests/fail/data_race/alloc_read_race.stderr
@@ -1,15 +1,10 @@
-error: Undefined Behavior: Data race detected between Read on thread `<unnamed>` and Allocate on thread `<unnamed>` at ALLOC
+error: Undefined Behavior: Data race detected between Read on thread `<unnamed>` and Allocate on thread `<unnamed>` at ALLOC. The Read is here
   --> $DIR/alloc_read_race.rs:LL:CC
    |
 LL |             *pointer.load(Ordering::Relaxed)
-   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Data race detected between Read on thread `<unnamed>` and Allocate on thread `<unnamed>` at ALLOC
+   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Data race detected between Read on thread `<unnamed>` and Allocate on thread `<unnamed>` at ALLOC. The Read is here
    |
-help: The Read on thread `<unnamed>` is here
-  --> $DIR/alloc_read_race.rs:LL:CC
-   |
-LL | ...   *pointer.load(Ordering::Relaxed)
-   |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-help: The Allocate on thread `<unnamed>` is here
+help: and Allocate on thread `<unnamed>`, which is here
   --> $DIR/alloc_read_race.rs:LL:CC
    |
 LL |             pointer.store(Box::into_raw(Box::new_uninit()), Ordering::Relaxed);
diff --git a/src/tools/miri/tests/fail/data_race/alloc_write_race.stderr b/src/tools/miri/tests/fail/data_race/alloc_write_race.stderr
index 11493536808..2398cbf12e4 100644
--- a/src/tools/miri/tests/fail/data_race/alloc_write_race.stderr
+++ b/src/tools/miri/tests/fail/data_race/alloc_write_race.stderr
@@ -1,15 +1,10 @@
-error: Undefined Behavior: Data race detected between Write on thread `<unnamed>` and Allocate on thread `<unnamed>` at ALLOC
+error: Undefined Behavior: Data race detected between Write on thread `<unnamed>` and Allocate on thread `<unnamed>` at ALLOC. The Write is here
   --> $DIR/alloc_write_race.rs:LL:CC
    |
 LL |             *pointer.load(Ordering::Relaxed) = 2;
-   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Data race detected between Write on thread `<unnamed>` and Allocate on thread `<unnamed>` at ALLOC
+   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Data race detected between Write on thread `<unnamed>` and Allocate on thread `<unnamed>` at ALLOC. The Write is here
    |
-help: The Write on thread `<unnamed>` is here
-  --> $DIR/alloc_write_race.rs:LL:CC
-   |
-LL | ...   *pointer.load(Ordering::Relaxed) = 2;
-   |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-help: The Allocate on thread `<unnamed>` is here
+help: and Allocate on thread `<unnamed>`, which is here
   --> $DIR/alloc_write_race.rs:LL:CC
    |
 LL |                 .store(Box::into_raw(Box::<usize>::new_uninit()) as *mut usize, Ordering::Relaxed);
diff --git a/src/tools/miri/tests/fail/data_race/atomic_read_na_write_race1.stderr b/src/tools/miri/tests/fail/data_race/atomic_read_na_write_race1.stderr
index e77afe7b827..15cfaef11cb 100644
--- a/src/tools/miri/tests/fail/data_race/atomic_read_na_write_race1.stderr
+++ b/src/tools/miri/tests/fail/data_race/atomic_read_na_write_race1.stderr
@@ -1,15 +1,10 @@
-error: Undefined Behavior: Data race detected between Atomic Load on thread `<unnamed>` and Write on thread `<unnamed>` at ALLOC
+error: Undefined Behavior: Data race detected between Atomic Load on thread `<unnamed>` and Write on thread `<unnamed>` at ALLOC. The Atomic Load is here
   --> $DIR/atomic_read_na_write_race1.rs:LL:CC
    |
 LL |             (&*c.0).load(Ordering::SeqCst)
-   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Data race detected between Atomic Load on thread `<unnamed>` and Write on thread `<unnamed>` at ALLOC
+   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Data race detected between Atomic Load on thread `<unnamed>` and Write on thread `<unnamed>` at ALLOC. The Atomic Load is here
    |
-help: The Atomic Load on thread `<unnamed>` is here
-  --> $DIR/atomic_read_na_write_race1.rs:LL:CC
-   |
-LL | ...   (&*c.0).load(Ordering::SeqCst)
-   |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-help: The Write on thread `<unnamed>` is here
+help: and Write on thread `<unnamed>`, which is here
   --> $DIR/atomic_read_na_write_race1.rs:LL:CC
    |
 LL |             *(c.0 as *mut usize) = 32;
diff --git a/src/tools/miri/tests/fail/data_race/atomic_read_na_write_race2.stderr b/src/tools/miri/tests/fail/data_race/atomic_read_na_write_race2.stderr
index 6b304421697..d4989146577 100644
--- a/src/tools/miri/tests/fail/data_race/atomic_read_na_write_race2.stderr
+++ b/src/tools/miri/tests/fail/data_race/atomic_read_na_write_race2.stderr
@@ -1,15 +1,10 @@
-error: Undefined Behavior: Data race detected between Write on thread `<unnamed>` and Atomic Load on thread `<unnamed>` at ALLOC
+error: Undefined Behavior: Data race detected between Write on thread `<unnamed>` and Atomic Load on thread `<unnamed>` at ALLOC. The Write is here
   --> $DIR/atomic_read_na_write_race2.rs:LL:CC
    |
 LL |             *atomic_ref.get_mut() = 32;
-   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^ Data race detected between Write on thread `<unnamed>` and Atomic Load on thread `<unnamed>` at ALLOC
+   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^ Data race detected between Write on thread `<unnamed>` and Atomic Load on thread `<unnamed>` at ALLOC. The Write is here
    |
-help: The Write on thread `<unnamed>` is here
-  --> $DIR/atomic_read_na_write_race2.rs:LL:CC
-   |
-LL | ...   *atomic_ref.get_mut() = 32;
-   |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
-help: The Atomic Load on thread `<unnamed>` is here
+help: and Atomic Load on thread `<unnamed>`, which is here
   --> $DIR/atomic_read_na_write_race2.rs:LL:CC
    |
 LL |             atomic_ref.load(Ordering::SeqCst)
diff --git a/src/tools/miri/tests/fail/data_race/atomic_write_na_read_race1.stderr b/src/tools/miri/tests/fail/data_race/atomic_write_na_read_race1.stderr
index ffc985c04cb..5378ea60672 100644
--- a/src/tools/miri/tests/fail/data_race/atomic_write_na_read_race1.stderr
+++ b/src/tools/miri/tests/fail/data_race/atomic_write_na_read_race1.stderr
@@ -1,15 +1,10 @@
-error: Undefined Behavior: Data race detected between Read on thread `<unnamed>` and Atomic Store on thread `<unnamed>` at ALLOC
+error: Undefined Behavior: Data race detected between Read on thread `<unnamed>` and Atomic Store on thread `<unnamed>` at ALLOC. The Read is here
   --> $DIR/atomic_write_na_read_race1.rs:LL:CC
    |
 LL |             *atomic_ref.get_mut()
-   |             ^^^^^^^^^^^^^^^^^^^^^ Data race detected between Read on thread `<unnamed>` and Atomic Store on thread `<unnamed>` at ALLOC
+   |             ^^^^^^^^^^^^^^^^^^^^^ Data race detected between Read on thread `<unnamed>` and Atomic Store on thread `<unnamed>` at ALLOC. The Read is here
    |
-help: The Read on thread `<unnamed>` is here
-  --> $DIR/atomic_write_na_read_race1.rs:LL:CC
-   |
-LL |             *atomic_ref.get_mut()
-   |             ^^^^^^^^^^^^^^^^^^^^^
-help: The Atomic Store on thread `<unnamed>` is here
+help: and Atomic Store on thread `<unnamed>`, which is here
   --> $DIR/atomic_write_na_read_race1.rs:LL:CC
    |
 LL |             atomic_ref.store(32, Ordering::SeqCst)
diff --git a/src/tools/miri/tests/fail/data_race/atomic_write_na_read_race2.stderr b/src/tools/miri/tests/fail/data_race/atomic_write_na_read_race2.stderr
index 5b5c8d07f8b..3da2f624bfc 100644
--- a/src/tools/miri/tests/fail/data_race/atomic_write_na_read_race2.stderr
+++ b/src/tools/miri/tests/fail/data_race/atomic_write_na_read_race2.stderr
@@ -1,15 +1,10 @@
-error: Undefined Behavior: Data race detected between Atomic Store on thread `<unnamed>` and Read on thread `<unnamed>` at ALLOC
+error: Undefined Behavior: Data race detected between Atomic Store on thread `<unnamed>` and Read on thread `<unnamed>` at ALLOC. The Atomic Store is here
   --> $DIR/atomic_write_na_read_race2.rs:LL:CC
    |
 LL |             (&*c.0).store(32, Ordering::SeqCst);
-   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Data race detected between Atomic Store on thread `<unnamed>` and Read on thread `<unnamed>` at ALLOC
+   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Data race detected between Atomic Store on thread `<unnamed>` and Read on thread `<unnamed>` at ALLOC. The Atomic Store is here
    |
-help: The Atomic Store on thread `<unnamed>` is here
-  --> $DIR/atomic_write_na_read_race2.rs:LL:CC
-   |
-LL | ...   (&*c.0).store(32, Ordering::SeqCst);
-   |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-help: The Read on thread `<unnamed>` is here
+help: and Read on thread `<unnamed>`, which is here
   --> $DIR/atomic_write_na_read_race2.rs:LL:CC
    |
 LL |             let _val = *(c.0 as *mut usize);
diff --git a/src/tools/miri/tests/fail/data_race/atomic_write_na_write_race1.stderr b/src/tools/miri/tests/fail/data_race/atomic_write_na_write_race1.stderr
index 55cc212ec0a..4d1dbc0b846 100644
--- a/src/tools/miri/tests/fail/data_race/atomic_write_na_write_race1.stderr
+++ b/src/tools/miri/tests/fail/data_race/atomic_write_na_write_race1.stderr
@@ -1,15 +1,10 @@
-error: Undefined Behavior: Data race detected between Atomic Store on thread `<unnamed>` and Write on thread `<unnamed>` at ALLOC
+error: Undefined Behavior: Data race detected between Atomic Store on thread `<unnamed>` and Write on thread `<unnamed>` at ALLOC. The Atomic Store is here
   --> $DIR/atomic_write_na_write_race1.rs:LL:CC
    |
 LL |             (&*c.0).store(64, Ordering::SeqCst);
-   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Data race detected between Atomic Store on thread `<unnamed>` and Write on thread `<unnamed>` at ALLOC
+   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Data race detected between Atomic Store on thread `<unnamed>` and Write on thread `<unnamed>` at ALLOC. The Atomic Store is here
    |
-help: The Atomic Store on thread `<unnamed>` is here
-  --> $DIR/atomic_write_na_write_race1.rs:LL:CC
-   |
-LL | ...   (&*c.0).store(64, Ordering::SeqCst);
-   |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-help: The Write on thread `<unnamed>` is here
+help: and Write on thread `<unnamed>`, which is here
   --> $DIR/atomic_write_na_write_race1.rs:LL:CC
    |
 LL |             *(c.0 as *mut usize) = 32;
diff --git a/src/tools/miri/tests/fail/data_race/atomic_write_na_write_race2.stderr b/src/tools/miri/tests/fail/data_race/atomic_write_na_write_race2.stderr
index 2b666ef0276..cec68ba159f 100644
--- a/src/tools/miri/tests/fail/data_race/atomic_write_na_write_race2.stderr
+++ b/src/tools/miri/tests/fail/data_race/atomic_write_na_write_race2.stderr
@@ -1,15 +1,10 @@
-error: Undefined Behavior: Data race detected between Write on thread `<unnamed>` and Atomic Store on thread `<unnamed>` at ALLOC
+error: Undefined Behavior: Data race detected between Write on thread `<unnamed>` and Atomic Store on thread `<unnamed>` at ALLOC. The Write is here
   --> $DIR/atomic_write_na_write_race2.rs:LL:CC
    |
 LL |             *atomic_ref.get_mut() = 32;
-   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^ Data race detected between Write on thread `<unnamed>` and Atomic Store on thread `<unnamed>` at ALLOC
+   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^ Data race detected between Write on thread `<unnamed>` and Atomic Store on thread `<unnamed>` at ALLOC. The Write is here
    |
-help: The Write on thread `<unnamed>` is here
-  --> $DIR/atomic_write_na_write_race2.rs:LL:CC
-   |
-LL | ...   *atomic_ref.get_mut() = 32;
-   |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
-help: The Atomic Store on thread `<unnamed>` is here
+help: and Atomic Store on thread `<unnamed>`, which is here
   --> $DIR/atomic_write_na_write_race2.rs:LL:CC
    |
 LL |             atomic_ref.store(64, Ordering::SeqCst);
diff --git a/src/tools/miri/tests/fail/data_race/dangling_thread_async_race.stderr b/src/tools/miri/tests/fail/data_race/dangling_thread_async_race.stderr
index 156261b3538..7ef38c6706c 100644
--- a/src/tools/miri/tests/fail/data_race/dangling_thread_async_race.stderr
+++ b/src/tools/miri/tests/fail/data_race/dangling_thread_async_race.stderr
@@ -1,15 +1,10 @@
-error: Undefined Behavior: Data race detected between Write on thread `<unnamed>` and Write on thread `<unnamed>` at ALLOC
+error: Undefined Behavior: Data race detected between Write on thread `<unnamed>` and Write on thread `<unnamed>` at ALLOC. The Write is here
   --> $DIR/dangling_thread_async_race.rs:LL:CC
    |
 LL |             *c.0 = 64;
-   |             ^^^^^^^^^ Data race detected between Write on thread `<unnamed>` and Write on thread `<unnamed>` at ALLOC
+   |             ^^^^^^^^^ Data race detected between Write on thread `<unnamed>` and Write on thread `<unnamed>` at ALLOC. The Write is here
    |
-help: The Write on thread `<unnamed>` is here
-  --> $DIR/dangling_thread_async_race.rs:LL:CC
-   |
-LL |             *c.0 = 64;
-   |             ^^^^^^^^^
-help: The Write on thread `<unnamed>` is here
+help: and Write on thread `<unnamed>`, which is here
   --> $DIR/dangling_thread_async_race.rs:LL:CC
    |
 LL |             *c.0 = 32;
diff --git a/src/tools/miri/tests/fail/data_race/dangling_thread_race.stderr b/src/tools/miri/tests/fail/data_race/dangling_thread_race.stderr
index bd0d34929e7..3f556b6a8a8 100644
--- a/src/tools/miri/tests/fail/data_race/dangling_thread_race.stderr
+++ b/src/tools/miri/tests/fail/data_race/dangling_thread_race.stderr
@@ -1,15 +1,10 @@
-error: Undefined Behavior: Data race detected between Write on thread `main` and Write on thread `<unnamed>` at ALLOC
+error: Undefined Behavior: Data race detected between Write on thread `main` and Write on thread `<unnamed>` at ALLOC. The Write is here
   --> $DIR/dangling_thread_race.rs:LL:CC
    |
 LL |         *c.0 = 64;
-   |         ^^^^^^^^^ Data race detected between Write on thread `main` and Write on thread `<unnamed>` at ALLOC
+   |         ^^^^^^^^^ Data race detected between Write on thread `main` and Write on thread `<unnamed>` at ALLOC. The Write is here
    |
-help: The Write on thread `main` is here
-  --> $DIR/dangling_thread_race.rs:LL:CC
-   |
-LL |         *c.0 = 64;
-   |         ^^^^^^^^^
-help: The Write on thread `<unnamed>` is here
+help: and Write on thread `<unnamed>`, which is here
   --> $DIR/dangling_thread_race.rs:LL:CC
    |
 LL |             *c.0 = 32;
diff --git a/src/tools/miri/tests/fail/data_race/dealloc_read_race1.stderr b/src/tools/miri/tests/fail/data_race/dealloc_read_race1.stderr
index 02a9bb63b5d..af2b2ed3987 100644
--- a/src/tools/miri/tests/fail/data_race/dealloc_read_race1.stderr
+++ b/src/tools/miri/tests/fail/data_race/dealloc_read_race1.stderr
@@ -1,4 +1,4 @@
-error: Undefined Behavior: Data race detected between Deallocate on thread `<unnamed>` and Read on thread `<unnamed>` at ALLOC
+error: Undefined Behavior: Data race detected between Deallocate on thread `<unnamed>` and Read on thread `<unnamed>` at ALLOC. The Deallocate is here
   --> $DIR/dealloc_read_race1.rs:LL:CC
    |
 LL | /             __rust_dealloc(
@@ -7,19 +7,9 @@ LL | |                 ptr.0 as *mut _,
 LL | |                 std::mem::size_of::<usize>(),
 LL | |                 std::mem::align_of::<usize>(),
 LL | |             );
-   | |_____________^ Data race detected between Deallocate on thread `<unnamed>` and Read on thread `<unnamed>` at ALLOC
+   | |_____________^ Data race detected between Deallocate on thread `<unnamed>` and Read on thread `<unnamed>` at ALLOC. The Deallocate is here
    |
-help: The Deallocate on thread `<unnamed>` is here
-  --> $DIR/dealloc_read_race1.rs:LL:CC
-   |
-LL | /             __rust_dealloc(
-LL | |
-LL | |                 ptr.0 as *mut _,
-LL | |                 std::mem::size_of::<usize>(),
-LL | |                 std::mem::align_of::<usize>(),
-LL | |             );
-   | |_____________^
-help: The Read on thread `<unnamed>` is here
+help: and Read on thread `<unnamed>`, which is here
   --> $DIR/dealloc_read_race1.rs:LL:CC
    |
 LL |             let _val = *ptr.0;
diff --git a/src/tools/miri/tests/fail/data_race/dealloc_read_race_stack.stderr b/src/tools/miri/tests/fail/data_race/dealloc_read_race_stack.stderr
index 18a30bd5a68..d6b2a8a573f 100644
--- a/src/tools/miri/tests/fail/data_race/dealloc_read_race_stack.stderr
+++ b/src/tools/miri/tests/fail/data_race/dealloc_read_race_stack.stderr
@@ -1,15 +1,10 @@
-error: Undefined Behavior: Data race detected between Deallocate on thread `<unnamed>` and Read on thread `<unnamed>` at ALLOC
+error: Undefined Behavior: Data race detected between Deallocate on thread `<unnamed>` and Read on thread `<unnamed>` at ALLOC. The Deallocate is here
   --> $DIR/dealloc_read_race_stack.rs:LL:CC
    |
 LL |             }
-   |             ^ Data race detected between Deallocate on thread `<unnamed>` and Read on thread `<unnamed>` at ALLOC
+   |             ^ Data race detected between Deallocate on thread `<unnamed>` and Read on thread `<unnamed>` at ALLOC. The Deallocate is here
    |
-help: The Deallocate on thread `<unnamed>` is here
-  --> $DIR/dealloc_read_race_stack.rs:LL:CC
-   |
-LL |             }
-   |             ^
-help: The Read on thread `<unnamed>` is here
+help: and Read on thread `<unnamed>`, which is here
   --> $DIR/dealloc_read_race_stack.rs:LL:CC
    |
 LL |             *pointer.load(Ordering::Acquire)
diff --git a/src/tools/miri/tests/fail/data_race/dealloc_write_race1.stderr b/src/tools/miri/tests/fail/data_race/dealloc_write_race1.stderr
index 9e59d5a6478..6b235f651af 100644
--- a/src/tools/miri/tests/fail/data_race/dealloc_write_race1.stderr
+++ b/src/tools/miri/tests/fail/data_race/dealloc_write_race1.stderr
@@ -1,4 +1,4 @@
-error: Undefined Behavior: Data race detected between Deallocate on thread `<unnamed>` and Write on thread `<unnamed>` at ALLOC
+error: Undefined Behavior: Data race detected between Deallocate on thread `<unnamed>` and Write on thread `<unnamed>` at ALLOC. The Deallocate is here
   --> $DIR/dealloc_write_race1.rs:LL:CC
    |
 LL | /             __rust_dealloc(
@@ -7,19 +7,9 @@ LL | |                 ptr.0 as *mut _,
 LL | |                 std::mem::size_of::<usize>(),
 LL | |                 std::mem::align_of::<usize>(),
 LL | |             );
-   | |_____________^ Data race detected between Deallocate on thread `<unnamed>` and Write on thread `<unnamed>` at ALLOC
+   | |_____________^ Data race detected between Deallocate on thread `<unnamed>` and Write on thread `<unnamed>` at ALLOC. The Deallocate is here
    |
-help: The Deallocate on thread `<unnamed>` is here
-  --> $DIR/dealloc_write_race1.rs:LL:CC
-   |
-LL | /             __rust_dealloc(
-LL | |
-LL | |                 ptr.0 as *mut _,
-LL | |                 std::mem::size_of::<usize>(),
-LL | |                 std::mem::align_of::<usize>(),
-LL | |             );
-   | |_____________^
-help: The Write on thread `<unnamed>` is here
+help: and Write on thread `<unnamed>`, which is here
   --> $DIR/dealloc_write_race1.rs:LL:CC
    |
 LL |             *ptr.0 = 2;
diff --git a/src/tools/miri/tests/fail/data_race/dealloc_write_race_stack.stderr b/src/tools/miri/tests/fail/data_race/dealloc_write_race_stack.stderr
index 5ac7c2d5a1e..6e20a1aa5e9 100644
--- a/src/tools/miri/tests/fail/data_race/dealloc_write_race_stack.stderr
+++ b/src/tools/miri/tests/fail/data_race/dealloc_write_race_stack.stderr
@@ -1,15 +1,10 @@
-error: Undefined Behavior: Data race detected between Deallocate on thread `<unnamed>` and Write on thread `<unnamed>` at ALLOC
+error: Undefined Behavior: Data race detected between Deallocate on thread `<unnamed>` and Write on thread `<unnamed>` at ALLOC. The Deallocate is here
   --> $DIR/dealloc_write_race_stack.rs:LL:CC
    |
 LL |             }
-   |             ^ Data race detected between Deallocate on thread `<unnamed>` and Write on thread `<unnamed>` at ALLOC
+   |             ^ Data race detected between Deallocate on thread `<unnamed>` and Write on thread `<unnamed>` at ALLOC. The Deallocate is here
    |
-help: The Deallocate on thread `<unnamed>` is here
-  --> $DIR/dealloc_write_race_stack.rs:LL:CC
-   |
-LL |             }
-   |             ^
-help: The Write on thread `<unnamed>` is here
+help: and Write on thread `<unnamed>`, which is here
   --> $DIR/dealloc_write_race_stack.rs:LL:CC
    |
 LL |             *pointer.load(Ordering::Acquire) = 3;
diff --git a/src/tools/miri/tests/fail/data_race/enable_after_join_to_main.stderr b/src/tools/miri/tests/fail/data_race/enable_after_join_to_main.stderr
index 636a686f84e..70d671ea7b7 100644
--- a/src/tools/miri/tests/fail/data_race/enable_after_join_to_main.stderr
+++ b/src/tools/miri/tests/fail/data_race/enable_after_join_to_main.stderr
@@ -1,15 +1,10 @@
-error: Undefined Behavior: Data race detected between Write on thread `<unnamed>` and Write on thread `<unnamed>` at ALLOC
+error: Undefined Behavior: Data race detected between Write on thread `<unnamed>` and Write on thread `<unnamed>` at ALLOC. The Write is here
   --> $DIR/enable_after_join_to_main.rs:LL:CC
    |
 LL |             *c.0 = 64;
-   |             ^^^^^^^^^ Data race detected between Write on thread `<unnamed>` and Write on thread `<unnamed>` at ALLOC
+   |             ^^^^^^^^^ Data race detected between Write on thread `<unnamed>` and Write on thread `<unnamed>` at ALLOC. The Write is here
    |
-help: The Write on thread `<unnamed>` is here
-  --> $DIR/enable_after_join_to_main.rs:LL:CC
-   |
-LL |             *c.0 = 64;
-   |             ^^^^^^^^^
-help: The Write on thread `<unnamed>` is here
+help: and Write on thread `<unnamed>`, which is here
   --> $DIR/enable_after_join_to_main.rs:LL:CC
    |
 LL |             *c.0 = 32;
diff --git a/src/tools/miri/tests/fail/data_race/fence_after_load.stderr b/src/tools/miri/tests/fail/data_race/fence_after_load.stderr
index e6862916384..d073124df00 100644
--- a/src/tools/miri/tests/fail/data_race/fence_after_load.stderr
+++ b/src/tools/miri/tests/fail/data_race/fence_after_load.stderr
@@ -1,15 +1,10 @@
-error: Undefined Behavior: Data race detected between Write on thread `main` and Write on thread `<unnamed>` at ALLOC
+error: Undefined Behavior: Data race detected between Write on thread `main` and Write on thread `<unnamed>` at ALLOC. The Write is here
   --> $DIR/fence_after_load.rs:LL:CC
    |
 LL |     unsafe { V = 2 }
-   |              ^^^^^ Data race detected between Write on thread `main` and Write on thread `<unnamed>` at ALLOC
+   |              ^^^^^ Data race detected between Write on thread `main` and Write on thread `<unnamed>` at ALLOC. The Write is here
    |
-help: The Write on thread `main` is here
-  --> $DIR/fence_after_load.rs:LL:CC
-   |
-LL |     unsafe { V = 2 }
-   |              ^^^^^
-help: The Write on thread `<unnamed>` is here
+help: and Write on thread `<unnamed>`, which is here
   --> $DIR/fence_after_load.rs:LL:CC
    |
 LL |         unsafe { V = 1 }
diff --git a/src/tools/miri/tests/fail/data_race/read_write_race.stderr b/src/tools/miri/tests/fail/data_race/read_write_race.stderr
index afba81ee8f7..ae237a9890d 100644
--- a/src/tools/miri/tests/fail/data_race/read_write_race.stderr
+++ b/src/tools/miri/tests/fail/data_race/read_write_race.stderr
@@ -1,15 +1,10 @@
-error: Undefined Behavior: Data race detected between Write on thread `<unnamed>` and Read on thread `<unnamed>` at ALLOC
+error: Undefined Behavior: Data race detected between Write on thread `<unnamed>` and Read on thread `<unnamed>` at ALLOC. The Write is here
   --> $DIR/read_write_race.rs:LL:CC
    |
 LL |             *c.0 = 64;
-   |             ^^^^^^^^^ Data race detected between Write on thread `<unnamed>` and Read on thread `<unnamed>` at ALLOC
+   |             ^^^^^^^^^ Data race detected between Write on thread `<unnamed>` and Read on thread `<unnamed>` at ALLOC. The Write is here
    |
-help: The Write on thread `<unnamed>` is here
-  --> $DIR/read_write_race.rs:LL:CC
-   |
-LL |             *c.0 = 64;
-   |             ^^^^^^^^^
-help: The Read on thread `<unnamed>` is here
+help: and Read on thread `<unnamed>`, which is here
   --> $DIR/read_write_race.rs:LL:CC
    |
 LL |             let _val = *c.0;
diff --git a/src/tools/miri/tests/fail/data_race/read_write_race_stack.stderr b/src/tools/miri/tests/fail/data_race/read_write_race_stack.stderr
index e1e4604aa6e..ec01d9be6e2 100644
--- a/src/tools/miri/tests/fail/data_race/read_write_race_stack.stderr
+++ b/src/tools/miri/tests/fail/data_race/read_write_race_stack.stderr
@@ -1,15 +1,10 @@
-error: Undefined Behavior: Data race detected between Read on thread `<unnamed>` and Write on thread `<unnamed>` at ALLOC
+error: Undefined Behavior: Data race detected between Read on thread `<unnamed>` and Write on thread `<unnamed>` at ALLOC. The Read is here
   --> $DIR/read_write_race_stack.rs:LL:CC
    |
 LL |             stack_var
-   |             ^^^^^^^^^ Data race detected between Read on thread `<unnamed>` and Write on thread `<unnamed>` at ALLOC
+   |             ^^^^^^^^^ Data race detected between Read on thread `<unnamed>` and Write on thread `<unnamed>` at ALLOC. The Read is here
    |
-help: The Read on thread `<unnamed>` is here
-  --> $DIR/read_write_race_stack.rs:LL:CC
-   |
-LL |             stack_var
-   |             ^^^^^^^^^
-help: The Write on thread `<unnamed>` is here
+help: and Write on thread `<unnamed>`, which is here
   --> $DIR/read_write_race_stack.rs:LL:CC
    |
 LL |             *pointer.load(Ordering::Acquire) = 3;
diff --git a/src/tools/miri/tests/fail/data_race/relax_acquire_race.stderr b/src/tools/miri/tests/fail/data_race/relax_acquire_race.stderr
index aae90e0c9e9..50768ebcdb9 100644
--- a/src/tools/miri/tests/fail/data_race/relax_acquire_race.stderr
+++ b/src/tools/miri/tests/fail/data_race/relax_acquire_race.stderr
@@ -1,15 +1,10 @@
-error: Undefined Behavior: Data race detected between Read on thread `<unnamed>` and Write on thread `<unnamed>` at ALLOC
+error: Undefined Behavior: Data race detected between Read on thread `<unnamed>` and Write on thread `<unnamed>` at ALLOC. The Read is here
   --> $DIR/relax_acquire_race.rs:LL:CC
    |
 LL |                 *c.0
-   |                 ^^^^ Data race detected between Read on thread `<unnamed>` and Write on thread `<unnamed>` at ALLOC
+   |                 ^^^^ Data race detected between Read on thread `<unnamed>` and Write on thread `<unnamed>` at ALLOC. The Read is here
    |
-help: The Read on thread `<unnamed>` is here
-  --> $DIR/relax_acquire_race.rs:LL:CC
-   |
-LL |                 *c.0
-   |                 ^^^^
-help: The Write on thread `<unnamed>` is here
+help: and Write on thread `<unnamed>`, which is here
   --> $DIR/relax_acquire_race.rs:LL:CC
    |
 LL |             *c.0 = 1;
diff --git a/src/tools/miri/tests/fail/data_race/release_seq_race.stderr b/src/tools/miri/tests/fail/data_race/release_seq_race.stderr
index 02413e6baa2..c3348ae0a3e 100644
--- a/src/tools/miri/tests/fail/data_race/release_seq_race.stderr
+++ b/src/tools/miri/tests/fail/data_race/release_seq_race.stderr
@@ -1,15 +1,10 @@
-error: Undefined Behavior: Data race detected between Read on thread `<unnamed>` and Write on thread `<unnamed>` at ALLOC
+error: Undefined Behavior: Data race detected between Read on thread `<unnamed>` and Write on thread `<unnamed>` at ALLOC. The Read is here
   --> $DIR/release_seq_race.rs:LL:CC
    |
 LL |                 *c.0
-   |                 ^^^^ Data race detected between Read on thread `<unnamed>` and Write on thread `<unnamed>` at ALLOC
+   |                 ^^^^ Data race detected between Read on thread `<unnamed>` and Write on thread `<unnamed>` at ALLOC. The Read is here
    |
-help: The Read on thread `<unnamed>` is here
-  --> $DIR/release_seq_race.rs:LL:CC
-   |
-LL |                 *c.0
-   |                 ^^^^
-help: The Write on thread `<unnamed>` is here
+help: and Write on thread `<unnamed>`, which is here
   --> $DIR/release_seq_race.rs:LL:CC
    |
 LL |             *c.0 = 1;
diff --git a/src/tools/miri/tests/fail/data_race/release_seq_race_same_thread.stderr b/src/tools/miri/tests/fail/data_race/release_seq_race_same_thread.stderr
index 9573ca95867..522226faa40 100644
--- a/src/tools/miri/tests/fail/data_race/release_seq_race_same_thread.stderr
+++ b/src/tools/miri/tests/fail/data_race/release_seq_race_same_thread.stderr
@@ -1,15 +1,10 @@
-error: Undefined Behavior: Data race detected between Read on thread `<unnamed>` and Write on thread `<unnamed>` at ALLOC
+error: Undefined Behavior: Data race detected between Read on thread `<unnamed>` and Write on thread `<unnamed>` at ALLOC. The Read is here
   --> $DIR/release_seq_race_same_thread.rs:LL:CC
    |
 LL |                 *c.0
-   |                 ^^^^ Data race detected between Read on thread `<unnamed>` and Write on thread `<unnamed>` at ALLOC
+   |                 ^^^^ Data race detected between Read on thread `<unnamed>` and Write on thread `<unnamed>` at ALLOC. The Read is here
    |
-help: The Read on thread `<unnamed>` is here
-  --> $DIR/release_seq_race_same_thread.rs:LL:CC
-   |
-LL |                 *c.0
-   |                 ^^^^
-help: The Write on thread `<unnamed>` is here
+help: and Write on thread `<unnamed>`, which is here
   --> $DIR/release_seq_race_same_thread.rs:LL:CC
    |
 LL |             *c.0 = 1;
diff --git a/src/tools/miri/tests/fail/data_race/rmw_race.stderr b/src/tools/miri/tests/fail/data_race/rmw_race.stderr
index ae53cc0c75f..672f08c4221 100644
--- a/src/tools/miri/tests/fail/data_race/rmw_race.stderr
+++ b/src/tools/miri/tests/fail/data_race/rmw_race.stderr
@@ -1,15 +1,10 @@
-error: Undefined Behavior: Data race detected between Read on thread `<unnamed>` and Write on thread `<unnamed>` at ALLOC
+error: Undefined Behavior: Data race detected between Read on thread `<unnamed>` and Write on thread `<unnamed>` at ALLOC. The Read is here
   --> $DIR/rmw_race.rs:LL:CC
    |
 LL |                 *c.0
-   |                 ^^^^ Data race detected between Read on thread `<unnamed>` and Write on thread `<unnamed>` at ALLOC
+   |                 ^^^^ Data race detected between Read on thread `<unnamed>` and Write on thread `<unnamed>` at ALLOC. The Read is here
    |
-help: The Read on thread `<unnamed>` is here
-  --> $DIR/rmw_race.rs:LL:CC
-   |
-LL |                 *c.0
-   |                 ^^^^
-help: The Write on thread `<unnamed>` is here
+help: and Write on thread `<unnamed>`, which is here
   --> $DIR/rmw_race.rs:LL:CC
    |
 LL |             *c.0 = 1;
diff --git a/src/tools/miri/tests/fail/data_race/stack_pop_race.stderr b/src/tools/miri/tests/fail/data_race/stack_pop_race.stderr
index 0853e0830c7..e21fe201d1d 100644
--- a/src/tools/miri/tests/fail/data_race/stack_pop_race.stderr
+++ b/src/tools/miri/tests/fail/data_race/stack_pop_race.stderr
@@ -1,15 +1,10 @@
-error: Undefined Behavior: Data race detected between Deallocate on thread `main` and Read on thread `<unnamed>` at ALLOC
+error: Undefined Behavior: Data race detected between Deallocate on thread `main` and Read on thread `<unnamed>` at ALLOC. The Deallocate is here
   --> $DIR/stack_pop_race.rs:LL:CC
    |
 LL | }
-   |  ^ Data race detected between Deallocate on thread `main` and Read on thread `<unnamed>` at ALLOC
+   |  ^ Data race detected between Deallocate on thread `main` and Read on thread `<unnamed>` at ALLOC. The Deallocate is here
    |
-help: The Deallocate on thread `main` is here
-  --> $DIR/stack_pop_race.rs:LL:CC
-   |
-LL | }
-   |  ^
-help: The Read on thread `<unnamed>` is here
+help: and Read on thread `<unnamed>`, which is here
   --> $DIR/stack_pop_race.rs:LL:CC
    |
 LL |         let _val = unsafe { *ptr.0 };
diff --git a/src/tools/miri/tests/fail/data_race/write_write_race.stderr b/src/tools/miri/tests/fail/data_race/write_write_race.stderr
index 132cd503044..1f67303e596 100644
--- a/src/tools/miri/tests/fail/data_race/write_write_race.stderr
+++ b/src/tools/miri/tests/fail/data_race/write_write_race.stderr
@@ -1,15 +1,10 @@
-error: Undefined Behavior: Data race detected between Write on thread `<unnamed>` and Write on thread `<unnamed>` at ALLOC
+error: Undefined Behavior: Data race detected between Write on thread `<unnamed>` and Write on thread `<unnamed>` at ALLOC. The Write is here
   --> $DIR/write_write_race.rs:LL:CC
    |
 LL |             *c.0 = 64;
-   |             ^^^^^^^^^ Data race detected between Write on thread `<unnamed>` and Write on thread `<unnamed>` at ALLOC
+   |             ^^^^^^^^^ Data race detected between Write on thread `<unnamed>` and Write on thread `<unnamed>` at ALLOC. The Write is here
    |
-help: The Write on thread `<unnamed>` is here
-  --> $DIR/write_write_race.rs:LL:CC
-   |
-LL |             *c.0 = 64;
-   |             ^^^^^^^^^
-help: The Write on thread `<unnamed>` is here
+help: and Write on thread `<unnamed>`, which is here
   --> $DIR/write_write_race.rs:LL:CC
    |
 LL |             *c.0 = 32;
diff --git a/src/tools/miri/tests/fail/data_race/write_write_race_stack.stderr b/src/tools/miri/tests/fail/data_race/write_write_race_stack.stderr
index 25963d63db5..5b6481327ce 100644
--- a/src/tools/miri/tests/fail/data_race/write_write_race_stack.stderr
+++ b/src/tools/miri/tests/fail/data_race/write_write_race_stack.stderr
@@ -1,15 +1,10 @@
-error: Undefined Behavior: Data race detected between Write on thread `<unnamed>` and Write on thread `<unnamed>` at ALLOC
+error: Undefined Behavior: Data race detected between Write on thread `<unnamed>` and Write on thread `<unnamed>` at ALLOC. The Write is here
   --> $DIR/write_write_race_stack.rs:LL:CC
    |
 LL |             stack_var = 1usize;
-   |             ^^^^^^^^^^^^^^^^^^ Data race detected between Write on thread `<unnamed>` and Write on thread `<unnamed>` at ALLOC
+   |             ^^^^^^^^^^^^^^^^^^ Data race detected between Write on thread `<unnamed>` and Write on thread `<unnamed>` at ALLOC. The Write is here
    |
-help: The Write on thread `<unnamed>` is here
-  --> $DIR/write_write_race_stack.rs:LL:CC
-   |
-LL |             stack_var = 1usize;
-   |             ^^^^^^^^^^^^^^^^^^
-help: The Write on thread `<unnamed>` is here
+help: and Write on thread `<unnamed>`, which is here
   --> $DIR/write_write_race_stack.rs:LL:CC
    |
 LL |             *pointer.load(Ordering::Acquire) = 3;
diff --git a/src/tools/miri/tests/fail/stacked_borrows/retag_data_race_read.stderr b/src/tools/miri/tests/fail/stacked_borrows/retag_data_race_read.stderr
index ff874bd9e82..6f9ea26c088 100644
--- a/src/tools/miri/tests/fail/stacked_borrows/retag_data_race_read.stderr
+++ b/src/tools/miri/tests/fail/stacked_borrows/retag_data_race_read.stderr
@@ -1,15 +1,10 @@
-error: Undefined Behavior: Data race detected between Write on thread `<unnamed>` and Read on thread `<unnamed>` at ALLOC
+error: Undefined Behavior: Data race detected between Write on thread `<unnamed>` and Read on thread `<unnamed>` at ALLOC. The Write is here
   --> $DIR/retag_data_race_read.rs:LL:CC
    |
 LL |         *p = 5;
-   |         ^^^^^^ Data race detected between Write on thread `<unnamed>` and Read on thread `<unnamed>` at ALLOC
+   |         ^^^^^^ Data race detected between Write on thread `<unnamed>` and Read on thread `<unnamed>` at ALLOC. The Write is here
    |
-help: The Write on thread `<unnamed>` is here
-  --> $DIR/retag_data_race_read.rs:LL:CC
-   |
-LL |         *p = 5;
-   |         ^^^^^^
-help: The Read on thread `<unnamed>` is here
+help: and Read on thread `<unnamed>`, which is here
   --> $DIR/retag_data_race_read.rs:LL:CC
    |
 LL |         let _r = &*p;
diff --git a/src/tools/miri/tests/fail/stacked_borrows/retag_data_race_write.stderr b/src/tools/miri/tests/fail/stacked_borrows/retag_data_race_write.stderr
index 80b6ac6e139..44f17bd6ffa 100644
--- a/src/tools/miri/tests/fail/stacked_borrows/retag_data_race_write.stderr
+++ b/src/tools/miri/tests/fail/stacked_borrows/retag_data_race_write.stderr
@@ -1,15 +1,10 @@
-error: Undefined Behavior: Data race detected between Write on thread `<unnamed>` and Write on thread `<unnamed>` at ALLOC
+error: Undefined Behavior: Data race detected between Write on thread `<unnamed>` and Write on thread `<unnamed>` at ALLOC. The Write is here
   --> $DIR/retag_data_race_write.rs:LL:CC
    |
 LL |         *p = 5;
-   |         ^^^^^^ Data race detected between Write on thread `<unnamed>` and Write on thread `<unnamed>` at ALLOC
+   |         ^^^^^^ Data race detected between Write on thread `<unnamed>` and Write on thread `<unnamed>` at ALLOC. The Write is here
    |
-help: The Write on thread `<unnamed>` is here
-  --> $DIR/retag_data_race_write.rs:LL:CC
-   |
-LL |         *p = 5;
-   |         ^^^^^^
-help: The Write on thread `<unnamed>` is here
+help: and Write on thread `<unnamed>`, which is here
   --> $DIR/retag_data_race_write.rs:LL:CC
    |
 LL |         let _r = &mut *p;