mirror of
https://github.com/servo/servo.git
synced 2025-07-22 23:03:42 +01:00
Use a stack guard and a macro for RootedVec instead of return_address.
This commit is contained in:
parent
0db1faf876
commit
b79a7d468e
8 changed files with 77 additions and 71 deletions
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue