From f0e6b8ca47ed1243746134aa7d71208dd823424e Mon Sep 17 00:00:00 2001 From: Mark Thom Date: Mon, 10 Jan 2022 18:25:30 -0700 Subject: [PATCH] imitate Rc-style equality for TypedArenaPtr (#1190) --- src/arena.rs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/arena.rs b/src/arena.rs index d0244fae..0dde0751 100644 --- a/src/arena.rs +++ b/src/arena.rs @@ -72,9 +72,17 @@ impl ArenaHeader { } } -#[derive(Debug, PartialEq, PartialOrd, Eq, Ord)] +#[derive(Debug, PartialOrd, Ord)] pub struct TypedArenaPtr(ptr::NonNull); +impl PartialEq for TypedArenaPtr { + fn eq(&self, other: &TypedArenaPtr) -> bool { + self.0 == other.0 || &**self == &**other + } +} + +impl Eq for TypedArenaPtr {} + impl Hash for TypedArenaPtr { #[inline(always)] fn hash(&self, hasher: &mut H) { -- 2.54.0