aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/bindings/js.rs
diff options
context:
space:
mode:
authorBobby Holley <bobbyholley@gmail.com>2015-10-09 21:01:38 -0700
committerBobby Holley <bobbyholley@gmail.com>2015-10-27 12:41:14 -0700
commit630b9f8fa0b953838b1778a3eca331c7e970cbc9 (patch)
tree20427dd4fb65d2c6928704f9e413866f3b70d334 /components/script/dom/bindings/js.rs
parent98dc67dbec7f4f9a6d8b62d75a9b2e0aca91eb7d (diff)
downloadservo-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.rs13
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)]