let mut src = TtIter::new(src);
let mut stack: SmallVec<[TtIter; 1]> = SmallVec::new();
let mut res = Match::default();
- let mut error_reover_item = None;
+ let mut error_recover_item = None;
let mut bindings_builder = BindingsBuilder::default();
stdx::always!(cur_items.is_empty());
if error_items.len() > 0 {
- error_reover_item = error_items.pop().map(|it| it.bindings);
+ error_recover_item = error_items.pop().map(|it| it.bindings);
} else if eof_items.len() > 0 {
- error_reover_item = Some(eof_items[0].bindings.clone());
+ error_recover_item = Some(eof_items[0].bindings.clone());
}
// We need to do some post processing after the `match_loop_inner`.
res.bindings = bindings_builder.build(&eof_items[0].bindings);
} else {
// Error recovery
- if error_reover_item.is_some() {
- res.bindings = bindings_builder.build(&error_reover_item.unwrap());
+ if let Some(item) = error_recover_item {
+ res.bindings = bindings_builder.build(&item);
}
res.add_err(ExpandError::UnexpectedToken);
}
}
res.add_err(err!("leftover tokens"));
- if let Some(error_reover_item) = error_reover_item {
+ if let Some(error_reover_item) = error_recover_item {
res.bindings = bindings_builder.build(&error_reover_item);
}
return res;