Make forget intrinsic safe
This commit is contained in:
parent
158f8d034b
commit
5718cc2f9b
4 changed files with 17 additions and 17 deletions
|
|
@ -4,27 +4,21 @@
|
|||
fn forget(_1: T) -> () {
|
||||
debug t => _1; // in scope 0 at $DIR/lower_intrinsics.rs:18:18: 18:19
|
||||
let mut _0: (); // return place in scope 0 at $DIR/lower_intrinsics.rs:18:24: 18:24
|
||||
let _2: (); // in scope 0 at $DIR/lower_intrinsics.rs:19:14: 19:41
|
||||
let mut _3: T; // in scope 0 at $DIR/lower_intrinsics.rs:19:39: 19:40
|
||||
scope 1 {
|
||||
}
|
||||
let mut _2: T; // in scope 0 at $DIR/lower_intrinsics.rs:19:30: 19:31
|
||||
|
||||
bb0: {
|
||||
StorageLive(_2); // scope 0 at $DIR/lower_intrinsics.rs:19:5: 19:43
|
||||
StorageLive(_3); // scope 1 at $DIR/lower_intrinsics.rs:19:39: 19:40
|
||||
_3 = move _1; // scope 1 at $DIR/lower_intrinsics.rs:19:39: 19:40
|
||||
- _2 = std::intrinsics::forget::<T>(move _3) -> bb1; // scope 1 at $DIR/lower_intrinsics.rs:19:14: 19:41
|
||||
StorageLive(_2); // scope 0 at $DIR/lower_intrinsics.rs:19:30: 19:31
|
||||
_2 = move _1; // scope 0 at $DIR/lower_intrinsics.rs:19:30: 19:31
|
||||
- _0 = std::intrinsics::forget::<T>(move _2) -> bb1; // scope 0 at $DIR/lower_intrinsics.rs:19:5: 19:32
|
||||
- // mir::Constant
|
||||
- // + span: $DIR/lower_intrinsics.rs:19:14: 19:38
|
||||
- // + literal: Const { ty: unsafe extern "rust-intrinsic" fn(T) {std::intrinsics::forget::<T>}, val: Value(Scalar(<ZST>)) }
|
||||
+ _2 = const (); // scope 1 at $DIR/lower_intrinsics.rs:19:14: 19:41
|
||||
+ goto -> bb1; // scope 1 at $DIR/lower_intrinsics.rs:19:14: 19:41
|
||||
- // + span: $DIR/lower_intrinsics.rs:19:5: 19:29
|
||||
- // + literal: Const { ty: extern "rust-intrinsic" fn(T) {std::intrinsics::forget::<T>}, val: Value(Scalar(<ZST>)) }
|
||||
+ _0 = const (); // scope 0 at $DIR/lower_intrinsics.rs:19:5: 19:32
|
||||
+ goto -> bb1; // scope 0 at $DIR/lower_intrinsics.rs:19:5: 19:32
|
||||
}
|
||||
|
||||
bb1: {
|
||||
StorageDead(_3); // scope 1 at $DIR/lower_intrinsics.rs:19:40: 19:41
|
||||
StorageDead(_2); // scope 0 at $DIR/lower_intrinsics.rs:19:43: 19:44
|
||||
_0 = const (); // scope 0 at $DIR/lower_intrinsics.rs:18:24: 20:2
|
||||
StorageDead(_2); // scope 0 at $DIR/lower_intrinsics.rs:19:31: 19:32
|
||||
goto -> bb2; // scope 0 at $DIR/lower_intrinsics.rs:20:1: 20:2
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ pub fn size_of<T>() -> usize {
|
|||
|
||||
// EMIT_MIR lower_intrinsics.forget.LowerIntrinsics.diff
|
||||
pub fn forget<T>(t: T) {
|
||||
unsafe { core::intrinsics::forget(t) };
|
||||
core::intrinsics::forget(t)
|
||||
}
|
||||
|
||||
// EMIT_MIR lower_intrinsics.unreachable.LowerIntrinsics.diff
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue