diff options
Diffstat (limited to 'components/script_bindings/record.rs')
-rw-r--r-- | components/script_bindings/record.rs | 10 |
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, |