avm2: Impl `Eq`, `Hash` for `Object` using ptr values
This commit is contained in:
parent
a157d7ab72
commit
68c270e7c0
|
@ -19,6 +19,7 @@ use gc_arena::{Collect, GcCell, MutationContext};
|
||||||
use ruffle_macros::enum_trait_object;
|
use ruffle_macros::enum_trait_object;
|
||||||
use std::cell::{Ref, RefMut};
|
use std::cell::{Ref, RefMut};
|
||||||
use std::fmt::Debug;
|
use std::fmt::Debug;
|
||||||
|
use std::hash::{Hash, Hasher};
|
||||||
|
|
||||||
mod array_object;
|
mod array_object;
|
||||||
mod bytearray_object;
|
mod bytearray_object;
|
||||||
|
@ -931,3 +932,17 @@ impl<'gc> Object<'gc> {
|
||||||
a.as_ptr() == b.as_ptr()
|
a.as_ptr() == b.as_ptr()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
impl<'gc> PartialEq for Object<'gc> {
|
||||||
|
fn eq(&self, other: &Self) -> bool {
|
||||||
|
Object::ptr_eq(*self, *other)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl<'gc> Eq for Object<'gc> {}
|
||||||
|
|
||||||
|
impl<'gc> Hash for Object<'gc> {
|
||||||
|
fn hash<H: Hasher>(&self, state: &mut H) {
|
||||||
|
self.as_ptr().hash(state);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue