64cce5fc7d
Updates `interpret`, `codegen_ssa`, and `codegen_cranelift` to consume the new cast instead of the intrinsic. Includes `CastTransmute` for custom MIR building, to be able to test the extra UB.
22 lines
1.2 KiB
Diff
22 lines
1.2 KiB
Diff
- // MIR for `read_via_copy_uninhabited` before LowerIntrinsics
|
|
+ // MIR for `read_via_copy_uninhabited` after LowerIntrinsics
|
|
|
|
fn read_via_copy_uninhabited(_1: &Never) -> Never {
|
|
debug r => _1; // in scope 0 at $DIR/lower_intrinsics.rs:+0:34: +0:35
|
|
let mut _0: Never; // return place in scope 0 at $DIR/lower_intrinsics.rs:+0:48: +0:53
|
|
let mut _2: *const Never; // in scope 0 at $DIR/lower_intrinsics.rs:+1:46: +1:47
|
|
scope 1 {
|
|
}
|
|
|
|
bb0: {
|
|
StorageLive(_2); // scope 1 at $DIR/lower_intrinsics.rs:+1:46: +1:47
|
|
_2 = &raw const (*_1); // scope 1 at $DIR/lower_intrinsics.rs:+1:46: +1:47
|
|
- _0 = read_via_copy::<Never>(move _2); // scope 1 at $DIR/lower_intrinsics.rs:+1:14: +1:48
|
|
- // mir::Constant
|
|
- // + span: $DIR/lower_intrinsics.rs:123:14: 123:45
|
|
- // + literal: Const { ty: unsafe extern "rust-intrinsic" fn(*const Never) -> Never {read_via_copy::<Never>}, val: Value(<ZST>) }
|
|
+ unreachable; // scope 1 at $DIR/lower_intrinsics.rs:+1:14: +1:48
|
|
}
|
|
}
|
|
|