aboutsummaryrefslogtreecommitdiffstats
path: root/components/script_bindings/record.rs
diff options
context:
space:
mode:
Diffstat (limited to 'components/script_bindings/record.rs')
-rw-r--r--components/script_bindings/record.rs10
1 files changed, 8 insertions, 2 deletions
diff --git a/components/script_bindings/record.rs b/components/script_bindings/record.rs
index 2668a84f42c..d469faefaf2 100644
--- a/components/script_bindings/record.rs
+++ b/components/script_bindings/record.rs
@@ -7,7 +7,7 @@
use std::cmp::Eq;
use std::hash::Hash;
use std::marker::Sized;
-use std::ops::Deref;
+use std::ops::{Deref, DerefMut};
use indexmap::IndexMap;
use js::conversions::{ConversionResult, FromJSValConvertible, ToJSValConvertible};
@@ -94,11 +94,17 @@ impl<K: RecordKey, V> Record<K, V> {
impl<K: RecordKey, V> Deref for Record<K, V> {
type Target = IndexMap<K, V>;
- fn deref(&self) -> &IndexMap<K, V> {
+ fn deref(&self) -> &Self::Target {
&self.map
}
}
+impl<K: RecordKey, V> DerefMut for Record<K, V> {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.map
+ }
+}
+
impl<K, V, C> FromJSValConvertible for Record<K, V>
where
K: RecordKey,