diff options
author | Anthony Ramine <n.oxyde@gmail.com> | 2016-05-13 14:32:52 +0200 |
---|---|---|
committer | Anthony Ramine <n.oxyde@gmail.com> | 2016-10-11 19:44:33 +0200 |
commit | 3a547cc113a39a8a6349a879243c39e16ffc836c (patch) | |
tree | b3ffc78b1c8522787447e6a9b3259a0de922bee4 /components/script/dom/bindings/js.rs | |
parent | 45c9aa7487cf2617126e4c667dbfb0ad3b244b4d (diff) | |
download | servo-3a547cc113a39a8a6349a879243c39e16ffc836c.tar.gz servo-3a547cc113a39a8a6349a879243c39e16ffc836c.zip |
Generalise RootedVec::<JS<T>>::r as [JS<T>]::r
Diffstat (limited to 'components/script/dom/bindings/js.rs')
-rw-r--r-- | components/script/dom/bindings/js.rs | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/components/script/dom/bindings/js.rs b/components/script/dom/bindings/js.rs index 6441bed6746..c35b4905ceb 100644 --- a/components/script/dom/bindings/js.rs +++ b/components/script/dom/bindings/js.rs @@ -461,6 +461,13 @@ pub trait RootedReference<'root> { fn r(&'root self) -> Self::Ref; } +impl<'root, T: JSTraceable + Reflectable + 'root> RootedReference<'root> for [JS<T>] { + type Ref = &'root [&'root T]; + fn r(&'root self) -> &'root [&'root T] { + unsafe { mem::transmute(self) } + } +} + impl<'root, T: Reflectable + 'root> RootedReference<'root> for Rc<T> { type Ref = &'root T; fn r(&'root self) -> &'root T { |