From 079faeb02ba339c08b68eb2f8ce80d6e3a0c2145 Mon Sep 17 00:00:00 2001 From: Amin Yahyaabadi Date: Mon, 10 Jul 2023 20:24:05 -0700 Subject: [PATCH] feat: implement Display and AsRef for MappedRef (#261) --- src/mapref/one.rs | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/mapref/one.rs b/src/mapref/one.rs index 835e45c..fd38530 100644 --- a/src/mapref/one.rs +++ b/src/mapref/one.rs @@ -241,6 +241,20 @@ impl<'a, K: Eq + Hash, V, T, S: BuildHasher> Deref for MappedRef<'a, K, V, T, S> } } +impl<'a, K: Eq + Hash, V, T: std::fmt::Display> std::fmt::Display for MappedRef<'a, K, V, T> { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + std::fmt::Display::fmt(self.value(), f) + } +} + +impl<'a, K: Eq + Hash, V, T: AsRef, TDeref: ?Sized> AsRef + for MappedRef<'a, K, V, T> +{ + fn as_ref(&self) -> &TDeref { + self.value().as_ref() + } +} + pub struct MappedRefMut<'a, K, V, T, S = RandomState> { _guard: RwLockWriteGuard<'a, HashMap>, k: *const K,