diff options
author | Bobby Holley <bobbyholley@gmail.com> | 2015-10-09 21:01:38 -0700 |
---|---|---|
committer | Bobby Holley <bobbyholley@gmail.com> | 2015-10-27 12:41:14 -0700 |
commit | 630b9f8fa0b953838b1778a3eca331c7e970cbc9 (patch) | |
tree | 20427dd4fb65d2c6928704f9e413866f3b70d334 /components/script/dom/bindings/js.rs | |
parent | 98dc67dbec7f4f9a6d8b62d75a9b2e0aca91eb7d (diff) | |
download | servo-630b9f8fa0b953838b1778a3eca331c7e970cbc9.tar.gz servo-630b9f8fa0b953838b1778a3eca331c7e970cbc9.zip |
Implement Hash and Eq for JS<T> and LayoutJS<T>.
Diffstat (limited to 'components/script/dom/bindings/js.rs')
-rw-r--r-- | components/script/dom/bindings/js.rs | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/components/script/dom/bindings/js.rs b/components/script/dom/bindings/js.rs index a2ec90033ba..9a4f17b426a 100644 --- a/components/script/dom/bindings/js.rs +++ b/components/script/dom/bindings/js.rs @@ -35,6 +35,7 @@ use layout_interface::TrustedNodeAddress; use script_task::STACK_ROOTS; use std::cell::UnsafeCell; use std::default::Default; +use std::hash::{Hash, Hasher}; use std::mem; use std::ops::Deref; use std::ptr; @@ -147,12 +148,24 @@ impl<T> PartialEq for JS<T> { } } +impl<T> Eq for JS<T> {} + impl<T> PartialEq for LayoutJS<T> { fn eq(&self, other: &LayoutJS<T>) -> bool { self.ptr == other.ptr } } +impl<T> Eq for LayoutJS<T> {} + +impl<T> Hash for JS<T> { + fn hash<H: Hasher>(&self, state: &mut H) { self.ptr.hash(state) } +} + +impl<T> Hash for LayoutJS<T> { + fn hash<H: Hasher>(&self, state: &mut H) { self.ptr.hash(state) } +} + impl <T> Clone for JS<T> { #[inline] #[allow(unrooted_must_root)] |