diff --git a/src/lib.rs b/src/lib.rs index 6da8b2a..cf4c13d 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -69,6 +69,8 @@ use alloc::alloc::Layout; use core::borrow::Borrow; use core::borrow::BorrowMut; use core::fmt::Debug; +use core::hash::{Hash, Hasher}; +use core::marker::PhantomData; use core::mem::align_of; use core::mem::size_of; use core::mem::ManuallyDrop; @@ -79,8 +81,6 @@ use core::ptr::copy; use core::ptr::copy_nonoverlapping; use core::ptr::NonNull; -use core::marker::PhantomData; - #[cfg(feature = "serde")] use serde::{ de::{Deserialize, Deserializer, SeqAccess, Visitor}, @@ -2049,6 +2049,12 @@ where } } +impl Hash for SmallVec { + fn hash(&self, state: &mut H) { + self.as_slice().hash(state) + } +} + impl Borrow<[T]> for SmallVec { #[inline] fn borrow(&self) -> &[T] {