diff options
Diffstat (limited to 'components/script/dom/macros.rs')
-rw-r--r-- | components/script/dom/macros.rs | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/components/script/dom/macros.rs b/components/script/dom/macros.rs index 3ad9713fb70..58af2b28ac6 100644 --- a/components/script/dom/macros.rs +++ b/components/script/dom/macros.rs @@ -503,3 +503,18 @@ macro_rules! document_and_element_event_handlers( event_handler!(paste, GetOnpaste, SetOnpaste); ) ); + +#[macro_export] +macro_rules! rooted_vec { + (let mut $name:ident) => { + rooted_vec!(let mut $name <- ::std::iter::empty()) + }; + (let $name:ident <- $iter:expr) => { + let mut __root = $crate::dom::bindings::trace::RootableVec::new_unrooted(); + let $name = $crate::dom::bindings::trace::RootedVec::new(&mut __root, $iter); + }; + (let mut $name:ident <- $iter:expr) => { + let mut __root = $crate::dom::bindings::trace::RootableVec::new_unrooted(); + let mut $name = $crate::dom::bindings::trace::RootedVec::new(&mut __root, $iter); + } +} |