Skip to content

Commit a1a958d

Browse files
committed
Fixed rooted_vec! Macro with Iterator Initialisation
1 parent 0081fc4 commit a1a958d

File tree

1 file changed

+5
-11
lines changed

1 file changed

+5
-11
lines changed

mozjs/src/gc/macros.rs

+5-11
Original file line numberDiff line numberDiff line change
@@ -26,19 +26,13 @@ macro_rules! rooted_vec {
2626
let mut __root = $crate::gc::RootableVec::new_unrooted();
2727
let mut $name = $crate::gc::RootedVec::new(&mut __root);
2828
};
29-
(let mut $name:ident: $type:ty) => {
29+
(let $name:ident <- $iter:expr) => {
3030
let mut __root = $crate::gc::RootableVec::new_unrooted();
31-
let mut $name: $crate::gc::RootedVec<$type> = $crate::gc::RootedVec::new(&mut __root);
31+
let $name = $crate::gc::RootedVec::from_iter(&mut __root, $iter);
3232
};
33-
(let mut $name:ident = $init:expr) => {
34-
let mut __root = $crate::gc::RootableVec::new_unrooted();
35-
let mut $name = $crate::gc::RootedVec::new(&mut __root);
36-
::std::iter::Extend::extend(&mut $name, $init);
37-
};
38-
(let mut $name:ident: $type:ty = $init:expr) => {
39-
let mut __root = $crate::gc::RootableVec::new_unrooted();
40-
let mut $name: $crate::gc::RootedVec<$type> = $crate::gc::RootedVec::new(&mut __root);
41-
::std::iter::Extend::extend(&mut $name, $init);
33+
(let mut $name:ident <- $iter:expr) => {
34+
let mut __root = $crate::gc::RootableVec::new_unrooted();
35+
let mut $name = $crate::gc::RootedVec::from_iter(&mut __root, $iter);
4236
};
4337
}
4438

0 commit comments

Comments
 (0)