aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTetsuharu OHZEKI <saneyuki.snyk@gmail.com>2014-05-31 23:40:24 +0900
committerTetsuharu OHZEKI <saneyuki.snyk@gmail.com>2014-06-02 00:39:16 +0900
commitad22b29b2d426fa39e66a66f8be9130bdf1fc0a1 (patch)
tree495e55e619d1eae0cd35a33275129d3dccc621f6
parenta0a0e07f71e5718dfc4e4d75c67982c33dd65417 (diff)
downloadservo-ad22b29b2d426fa39e66a66f8be9130bdf1fc0a1.tar.gz
servo-ad22b29b2d426fa39e66a66f8be9130bdf1fc0a1.zip
Remove the implementation OptionalSettable for Option<JS<T>> to remove needless '&mut self'.
-rw-r--r--src/components/script/dom/bindings/js.rs14
1 files changed, 3 insertions, 11 deletions
diff --git a/src/components/script/dom/bindings/js.rs b/src/components/script/dom/bindings/js.rs
index c5d39959c8a..805adcf1ff3 100644
--- a/src/components/script/dom/bindings/js.rs
+++ b/src/components/script/dom/bindings/js.rs
@@ -260,20 +260,12 @@ impl<T: Reflectable> Assignable<T> for Temporary<T> {
/// Assign an optional rootable value (either of JS<T> or Temporary<T>) to an optional
/// field of a DOM type (ie. Option<JS<T>>)
pub trait OptionalSettable<T> {
- fn assign(&mut self, val: Option<T>);
-}
-
-impl<T: Assignable<U>, U: Reflectable> OptionalSettable<T> for Option<JS<U>> {
- fn assign(&mut self, val: Option<T>) {
- *self = val.map(|val| unsafe { val.get_js() });
- }
+ fn assign(&self, val: Option<T>);
}
impl<T: Assignable<U>, U: Reflectable> OptionalSettable<T> for Cell<Option<JS<U>>> {
- fn assign(&mut self, val: Option<T>) {
- let mut item = self.get();
- item.assign(val);
- self.set(item);
+ fn assign(&self, val: Option<T>) {
+ self.set(val.map(|val| unsafe { val.get_js() }));
}
}