about summary refs log tree commit diff
diff options
context:
space:
mode:
authorRalf Jung <post@ralfj.de>2024-09-10 10:04:09 +0200
committerRalf Jung <post@ralfj.de>2024-09-10 10:14:03 +0200
commit6e70bd4d07deb838af1471258742cf1564bce632 (patch)
tree528f381b0514b059a536de840b9630879195b662
parentc78cd659887686d133055c4310a1e269716e0238 (diff)
downloadrust-6e70bd4d07deb838af1471258742cf1564bce632.tar.gz
rust-6e70bd4d07deb838af1471258742cf1564bce632.zip
fmt
-rw-r--r--src/tools/miri/tests/fail/provenance/int_copy_looses_provenance3.rs2
-rw-r--r--src/tools/miri/tests/fail/uninit/padding-enum.rs29
-rw-r--r--src/tools/miri/tests/fail/uninit/padding-enum.stderr4
-rw-r--r--src/tools/miri/tests/fail/uninit/padding-struct.rs15
-rw-r--r--src/tools/miri/tests/fail/uninit/padding-struct.stderr4
-rw-r--r--src/tools/miri/tests/fail/uninit/padding-union.rs15
-rw-r--r--src/tools/miri/tests/fail/uninit/padding-union.stderr4
-rw-r--r--src/tools/miri/tests/fail/uninit/padding-wide-ptr.rs27
-rw-r--r--src/tools/miri/tests/fail/uninit/padding-wide-ptr.stderr4
-rw-r--r--src/tools/miri/tests/pass/arrays.rs4
-rw-r--r--src/tools/miri/tests/pass/async-niche-aliasing.rs2
11 files changed, 62 insertions, 48 deletions
diff --git a/src/tools/miri/tests/fail/provenance/int_copy_looses_provenance3.rs b/src/tools/miri/tests/fail/provenance/int_copy_looses_provenance3.rs
index 48a48ce4587..d6bbfd7d94c 100644
--- a/src/tools/miri/tests/fail/provenance/int_copy_looses_provenance3.rs
+++ b/src/tools/miri/tests/fail/provenance/int_copy_looses_provenance3.rs
@@ -11,7 +11,7 @@ enum E {
 // Doing a copy at integer type should lose provenance.
 // This tests the case where provenacne is hiding in the discriminant of an enum.
 fn main() {
-    assert_eq!(mem::size_of::<E>(), 2*mem::size_of::<usize>());
+    assert_eq!(mem::size_of::<E>(), 2 * mem::size_of::<usize>());
 
     // We want to store provenance in the enum discriminant, but the value still needs to
     // be valid atfor the type. So we split provenance and data.
diff --git a/src/tools/miri/tests/fail/uninit/padding-enum.rs b/src/tools/miri/tests/fail/uninit/padding-enum.rs
index 3852ac5c477..a9628799b7d 100644
--- a/src/tools/miri/tests/fail/uninit/padding-enum.rs
+++ b/src/tools/miri/tests/fail/uninit/padding-enum.rs
@@ -7,17 +7,20 @@ enum E {
     Some(&'static (), &'static (), usize),
 }
 
-fn main() { unsafe {
-    let mut p: mem::MaybeUninit<E> = mem::MaybeUninit::zeroed();
-    // The copy when `E` is returned from `transmute` should destroy padding
-    // (even when we use `write_unaligned`, which under the hood uses an untyped copy).
-    p.as_mut_ptr().write_unaligned(mem::transmute((0usize, 0usize, 0usize)));
-    // This is a `None`, so everything but the discriminant is padding.
-    assert!(matches!(*p.as_ptr(), E::None));
+fn main() {
+    unsafe {
+        let mut p: mem::MaybeUninit<E> = mem::MaybeUninit::zeroed();
+        // The copy when `E` is returned from `transmute` should destroy padding
+        // (even when we use `write_unaligned`, which under the hood uses an untyped copy).
+        p.as_mut_ptr().write_unaligned(mem::transmute((0usize, 0usize, 0usize)));
+        // This is a `None`, so everything but the discriminant is padding.
+        assert!(matches!(*p.as_ptr(), E::None));
 
-    // Turns out the discriminant is (currently) stored
-    // in the 2nd pointer, so the first half is padding.
-    let c = &p as *const _ as *const u8;
-    let _val = *c.add(0); // Get a padding byte.
-    //~^ERROR: uninitialized
-} }
+        // Turns out the discriminant is (currently) stored
+        // in the 2nd pointer, so the first half is padding.
+        let c = &p as *const _ as *const u8;
+        // Read a padding byte.
+        let _val = *c.add(0);
+        //~^ERROR: uninitialized
+    }
+}
diff --git a/src/tools/miri/tests/fail/uninit/padding-enum.stderr b/src/tools/miri/tests/fail/uninit/padding-enum.stderr
index c571f188740..312cf6d20fa 100644
--- a/src/tools/miri/tests/fail/uninit/padding-enum.stderr
+++ b/src/tools/miri/tests/fail/uninit/padding-enum.stderr
@@ -1,8 +1,8 @@
 error: Undefined Behavior: using uninitialized data, but this operation requires initialized memory
   --> $DIR/padding-enum.rs:LL:CC
    |
-LL |     let _val = *c.add(0); // Get a padding byte.
-   |                ^^^^^^^^^ using uninitialized data, but this operation requires initialized memory
+LL |         let _val = *c.add(0);
+   |                    ^^^^^^^^^ using uninitialized data, but this operation requires initialized memory
    |
    = help: this indicates a bug in the program: it performed an invalid operation, and caused Undefined Behavior
    = help: see https://doc.rust-lang.org/nightly/reference/behavior-considered-undefined.html for further information
diff --git a/src/tools/miri/tests/fail/uninit/padding-struct.rs b/src/tools/miri/tests/fail/uninit/padding-struct.rs
index dd3be503439..4cdc6f3a104 100644
--- a/src/tools/miri/tests/fail/uninit/padding-struct.rs
+++ b/src/tools/miri/tests/fail/uninit/padding-struct.rs
@@ -3,9 +3,12 @@ use std::mem;
 #[repr(C)]
 struct Pair(u8, u16);
 
-fn main() { unsafe {
-    let p: Pair = mem::transmute(0u32); // The copy when `Pair` is returned from `transmute` should destroy padding.
-    let c = &p as *const _ as *const u8;
-    let _val = *c.add(1); // Get the padding byte.
-    //~^ERROR: uninitialized
-} }
+fn main() {
+    unsafe {
+        let p: Pair = mem::transmute(0u32); // The copy when `Pair` is returned from `transmute` should destroy padding.
+        let c = &p as *const _ as *const u8;
+        // Read the padding byte.
+        let _val = *c.add(1);
+        //~^ERROR: uninitialized
+    }
+}
diff --git a/src/tools/miri/tests/fail/uninit/padding-struct.stderr b/src/tools/miri/tests/fail/uninit/padding-struct.stderr
index 8dc40a482ac..19e3969279b 100644
--- a/src/tools/miri/tests/fail/uninit/padding-struct.stderr
+++ b/src/tools/miri/tests/fail/uninit/padding-struct.stderr
@@ -1,8 +1,8 @@
 error: Undefined Behavior: using uninitialized data, but this operation requires initialized memory
   --> $DIR/padding-struct.rs:LL:CC
    |
-LL |     let _val = *c.add(1); // Get the padding byte.
-   |                ^^^^^^^^^ using uninitialized data, but this operation requires initialized memory
+LL |         let _val = *c.add(1);
+   |                    ^^^^^^^^^ using uninitialized data, but this operation requires initialized memory
    |
    = help: this indicates a bug in the program: it performed an invalid operation, and caused Undefined Behavior
    = help: see https://doc.rust-lang.org/nightly/reference/behavior-considered-undefined.html for further information
diff --git a/src/tools/miri/tests/fail/uninit/padding-union.rs b/src/tools/miri/tests/fail/uninit/padding-union.rs
index 2e9e0a40d6c..294578607b3 100644
--- a/src/tools/miri/tests/fail/uninit/padding-union.rs
+++ b/src/tools/miri/tests/fail/uninit/padding-union.rs
@@ -6,9 +6,12 @@ union U {
     field: (u8, u16),
 }
 
-fn main() { unsafe {
-    let p: U = mem::transmute(0u32); // The copy when `U` is returned from `transmute` should destroy padding.
-    let c = &p as *const _ as *const [u8; 4];
-    let _val = *c; // Read the entire thing, definitely contains the padding byte.
-    //~^ERROR: uninitialized
-} }
+fn main() {
+    unsafe {
+        let p: U = mem::transmute(0u32); // The copy when `U` is returned from `transmute` should destroy padding.
+        let c = &p as *const _ as *const [u8; 4];
+        // Read the entire thing, definitely contains the padding byte.
+        let _val = *c;
+        //~^ERROR: uninitialized
+    }
+}
diff --git a/src/tools/miri/tests/fail/uninit/padding-union.stderr b/src/tools/miri/tests/fail/uninit/padding-union.stderr
index 04002da4f19..61a8d1c6ba6 100644
--- a/src/tools/miri/tests/fail/uninit/padding-union.stderr
+++ b/src/tools/miri/tests/fail/uninit/padding-union.stderr
@@ -1,8 +1,8 @@
 error: Undefined Behavior: constructing invalid value at [1]: encountered uninitialized memory, but expected an integer
   --> $DIR/padding-union.rs:LL:CC
    |
-LL |     let _val = *c; // Read the entire thing, definitely contains the padding byte.
-   |                ^^ constructing invalid value at [1]: encountered uninitialized memory, but expected an integer
+LL |         let _val = *c;
+   |                    ^^ constructing invalid value at [1]: encountered uninitialized memory, but expected an integer
    |
    = help: this indicates a bug in the program: it performed an invalid operation, and caused Undefined Behavior
    = help: see https://doc.rust-lang.org/nightly/reference/behavior-considered-undefined.html for further information
diff --git a/src/tools/miri/tests/fail/uninit/padding-wide-ptr.rs b/src/tools/miri/tests/fail/uninit/padding-wide-ptr.rs
index 0403a9caba6..4e363dbf81e 100644
--- a/src/tools/miri/tests/fail/uninit/padding-wide-ptr.rs
+++ b/src/tools/miri/tests/fail/uninit/padding-wide-ptr.rs
@@ -3,16 +3,19 @@ use std::mem;
 // If this is `None`, the metadata becomes padding.
 type T = Option<&'static str>;
 
-fn main() { unsafe {
-    let mut p: mem::MaybeUninit<T> = mem::MaybeUninit::zeroed();
-    // The copy when `T` is returned from `transmute` should destroy padding
-    // (even when we use `write_unaligned`, which under the hood uses an untyped copy).
-    p.as_mut_ptr().write_unaligned(mem::transmute((0usize, 0usize)));
-    // Null epresents `None`.
-    assert!(matches!(*p.as_ptr(), None));
+fn main() {
+    unsafe {
+        let mut p: mem::MaybeUninit<T> = mem::MaybeUninit::zeroed();
+        // The copy when `T` is returned from `transmute` should destroy padding
+        // (even when we use `write_unaligned`, which under the hood uses an untyped copy).
+        p.as_mut_ptr().write_unaligned(mem::transmute((0usize, 0usize)));
+        // Null epresents `None`.
+        assert!(matches!(*p.as_ptr(), None));
 
-    // The second part, with the length, becomes padding.
-    let c = &p as *const _ as *const u8;
-    let _val = *c.add(mem::size_of::<*const u8>()); // Get a padding byte.
-    //~^ERROR: uninitialized
-} }
+        // The second part, with the length, becomes padding.
+        let c = &p as *const _ as *const u8;
+        // Read a padding byte.
+        let _val = *c.add(mem::size_of::<*const u8>());
+        //~^ERROR: uninitialized
+    }
+}
diff --git a/src/tools/miri/tests/fail/uninit/padding-wide-ptr.stderr b/src/tools/miri/tests/fail/uninit/padding-wide-ptr.stderr
index 0da72550b2e..24194c4b02a 100644
--- a/src/tools/miri/tests/fail/uninit/padding-wide-ptr.stderr
+++ b/src/tools/miri/tests/fail/uninit/padding-wide-ptr.stderr
@@ -1,8 +1,8 @@
 error: Undefined Behavior: using uninitialized data, but this operation requires initialized memory
   --> $DIR/padding-wide-ptr.rs:LL:CC
    |
-LL |     let _val = *c.add(mem::size_of::<*const u8>()); // Get a padding byte.
-   |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ using uninitialized data, but this operation requires initialized memory
+LL |         let _val = *c.add(mem::size_of::<*const u8>());
+   |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ using uninitialized data, but this operation requires initialized memory
    |
    = help: this indicates a bug in the program: it performed an invalid operation, and caused Undefined Behavior
    = help: see https://doc.rust-lang.org/nightly/reference/behavior-considered-undefined.html for further information
diff --git a/src/tools/miri/tests/pass/arrays.rs b/src/tools/miri/tests/pass/arrays.rs
index b0c6f54cab8..5cb04d0f8be 100644
--- a/src/tools/miri/tests/pass/arrays.rs
+++ b/src/tools/miri/tests/pass/arrays.rs
@@ -62,7 +62,9 @@ fn debug() {
 }
 
 fn huge_zst() {
-    fn id<T>(x: T) -> T { x }
+    fn id<T>(x: T) -> T {
+        x
+    }
 
     // A "huge" zero-sized array. Make sure we don't loop over it in any part of Miri.
     let val = [(); usize::MAX];
diff --git a/src/tools/miri/tests/pass/async-niche-aliasing.rs b/src/tools/miri/tests/pass/async-niche-aliasing.rs
index 7f19afb33e4..ab82c929a94 100644
--- a/src/tools/miri/tests/pass/async-niche-aliasing.rs
+++ b/src/tools/miri/tests/pass/async-niche-aliasing.rs
@@ -3,10 +3,10 @@
 
 use std::{
     future::Future,
+    mem::MaybeUninit,
     pin::Pin,
     sync::Arc,
     task::{Context, Poll, Wake},
-    mem::MaybeUninit,
 };
 
 struct ThingAdder<'a> {