diff --git a/src/guard.rs b/src/guard.rs index 2264c0d..cdd18a9 100644 --- a/src/guard.rs +++ b/src/guard.rs @@ -52,7 +52,6 @@ impl fmt::Debug for ContentGuard<'_, T> { impl<'vec, T> ContentGuard<'vec, T> { pub(crate) fn new_scoped(erased: &'vec mut TypeErasedVec) -> Self { - debug_assert!(!std::mem::needs_drop::()); Self { erased, reerase: TypeErasedVec::new_scoped, diff --git a/src/lib.rs b/src/lib.rs index 60f0bbd..e021bfb 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -76,8 +76,11 @@ impl TypeErasedVec { } fn new_scoped(vec: Vec) -> Self { - // `ContentGuard::new_scoped` is only constructed after - // `try_as_type_scoped` has rejected types that need drop. + debug_assert!( + !std::mem::needs_drop::(), + "scoped element types must not require drop" + ); + Self { parts: VecParts::from_vec(vec), layout: Layout::new::(),