diff --git a/src/raw/mod.rs b/src/raw/mod.rs index 5f0d51c5c..945705965 100644 --- a/src/raw/mod.rs +++ b/src/raw/mod.rs @@ -1,5 +1,5 @@ use crate::alloc::alloc::{handle_alloc_error, Layout}; -use crate::scopeguard::guard; +use crate::scopeguard::{guard, ScopeGuard}; use crate::TryReserveError; use core::iter::FusedIterator; use core::marker::PhantomData; @@ -2824,7 +2824,7 @@ impl Clone for RawTable { self_.clone_from_spec(source); // Disarm the scope guard if cloning was successful. - mem::forget(self_); + ScopeGuard::into_inner(self_); } } } diff --git a/src/scopeguard.rs b/src/scopeguard.rs index 47965a845..382d06043 100644 --- a/src/scopeguard.rs +++ b/src/scopeguard.rs @@ -25,7 +25,6 @@ impl ScopeGuard where F: FnMut(&mut T), { - #[allow(dead_code)] #[inline] pub fn into_inner(guard: Self) -> T { // Cannot move out of Drop-implementing types, so