From ae70ab071a3072f688bc09e431153b47f170907f Mon Sep 17 00:00:00 2001 From: DutchGhost Date: Sun, 1 Mar 2020 20:42:35 +0100 Subject: [PATCH 1/2] constify mem::forget --- src/libcore/mem/mod.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/libcore/mem/mod.rs b/src/libcore/mem/mod.rs index 9eb151cf528a5..4ffd014124242 100644 --- a/src/libcore/mem/mod.rs +++ b/src/libcore/mem/mod.rs @@ -109,6 +109,7 @@ pub use crate::intrinsics::transmute; /// [ub]: ../../reference/behavior-considered-undefined.html /// [`ManuallyDrop`]: struct.ManuallyDrop.html #[inline] +#[rustc_const_unstable(feature = "const_forget", issue = "69616")] #[stable(feature = "rust1", since = "1.0.0")] pub fn forget(t: T) { ManuallyDrop::new(t); From a30b0a61b86c9742449837a2f5b669a7974fef5e Mon Sep 17 00:00:00 2001 From: DutchGhost Date: Mon, 2 Mar 2020 11:00:20 +0100 Subject: [PATCH 2/2] actually mark the function const --- src/libcore/mem/mod.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libcore/mem/mod.rs b/src/libcore/mem/mod.rs index 4ffd014124242..1120d6d4bc50e 100644 --- a/src/libcore/mem/mod.rs +++ b/src/libcore/mem/mod.rs @@ -111,7 +111,7 @@ pub use crate::intrinsics::transmute; #[inline] #[rustc_const_unstable(feature = "const_forget", issue = "69616")] #[stable(feature = "rust1", since = "1.0.0")] -pub fn forget(t: T) { +pub const fn forget(t: T) { ManuallyDrop::new(t); }