Avoid UB in clippy transmute_ptr_to_ptr UI test
This commit is contained in:
parent
05101ffe5b
commit
f2064f7165
@ -35,7 +35,7 @@ fn transmute_ptr_to_ptr() {
|
||||
// ref-ref transmutes; bad
|
||||
let _: &f32 = &*(&1u32 as *const u32 as *const f32);
|
||||
//~^ ERROR: transmute from a reference to a reference
|
||||
let _: &f64 = &*(&1f32 as *const f32 as *const f64);
|
||||
let _: &f32 = &*(&1f64 as *const f64 as *const f32);
|
||||
//~^ ERROR: transmute from a reference to a reference
|
||||
//:^ this test is here because both f32 and f64 are the same TypeVariant, but they are not
|
||||
// the same type
|
||||
@ -43,8 +43,8 @@ fn transmute_ptr_to_ptr() {
|
||||
//~^ ERROR: transmute from a reference to a reference
|
||||
let _: &GenericParam<f32> = &*(&GenericParam { t: 1u32 } as *const GenericParam<u32> as *const GenericParam<f32>);
|
||||
//~^ ERROR: transmute from a reference to a reference
|
||||
let u8_ref: &u8 = &0u8;
|
||||
let u64_ref: &u64 = unsafe { &*(u8_ref as *const u8 as *const u64) };
|
||||
let u64_ref: &u64 = &0u64;
|
||||
let u8_ref: &u8 = unsafe { &*(u64_ref as *const u64 as *const u8) };
|
||||
//~^ ERROR: transmute from a reference to a reference
|
||||
}
|
||||
|
||||
|
@ -35,7 +35,7 @@ fn transmute_ptr_to_ptr() {
|
||||
// ref-ref transmutes; bad
|
||||
let _: &f32 = std::mem::transmute(&1u32);
|
||||
//~^ ERROR: transmute from a reference to a reference
|
||||
let _: &f64 = std::mem::transmute(&1f32);
|
||||
let _: &f32 = std::mem::transmute(&1f64);
|
||||
//~^ ERROR: transmute from a reference to a reference
|
||||
//:^ this test is here because both f32 and f64 are the same TypeVariant, but they are not
|
||||
// the same type
|
||||
@ -43,8 +43,8 @@ fn transmute_ptr_to_ptr() {
|
||||
//~^ ERROR: transmute from a reference to a reference
|
||||
let _: &GenericParam<f32> = std::mem::transmute(&GenericParam { t: 1u32 });
|
||||
//~^ ERROR: transmute from a reference to a reference
|
||||
let u8_ref: &u8 = &0u8;
|
||||
let u64_ref: &u64 = unsafe { std::mem::transmute(u8_ref) };
|
||||
let u64_ref: &u64 = &0u64;
|
||||
let u8_ref: &u8 = unsafe { std::mem::transmute(u64_ref) };
|
||||
//~^ ERROR: transmute from a reference to a reference
|
||||
}
|
||||
|
||||
|
@ -22,8 +22,8 @@ LL | let _: &f32 = std::mem::transmute(&1u32);
|
||||
error: transmute from a reference to a reference
|
||||
--> $DIR/transmute_ptr_to_ptr.rs:38:23
|
||||
|
|
||||
LL | let _: &f64 = std::mem::transmute(&1f32);
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&*(&1f32 as *const f32 as *const f64)`
|
||||
LL | let _: &f32 = std::mem::transmute(&1f64);
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&*(&1f64 as *const f64 as *const f32)`
|
||||
|
||||
error: transmute from a reference to a reference
|
||||
--> $DIR/transmute_ptr_to_ptr.rs:42:27
|
||||
@ -38,10 +38,10 @@ LL | let _: &GenericParam<f32> = std::mem::transmute(&GenericParam { t:
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&*(&GenericParam { t: 1u32 } as *const GenericParam<u32> as *const GenericParam<f32>)`
|
||||
|
||||
error: transmute from a reference to a reference
|
||||
--> $DIR/transmute_ptr_to_ptr.rs:47:38
|
||||
--> $DIR/transmute_ptr_to_ptr.rs:47:36
|
||||
|
|
||||
LL | let u64_ref: &u64 = unsafe { std::mem::transmute(u8_ref) };
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&*(u8_ref as *const u8 as *const u64)`
|
||||
LL | let u8_ref: &u8 = unsafe { std::mem::transmute(u64_ref) };
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&*(u64_ref as *const u64 as *const u8)`
|
||||
|
||||
error: aborting due to 7 previous errors
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user