This commit is contained in:
Aleksey Kladov 2018-01-15 22:41:57 +03:00
parent 91fb7e2088
commit 3c612bfa3a
2 changed files with 4 additions and 3 deletions

View file

@ -49,9 +49,7 @@ fn item(p: &mut Parser) -> bool {
|| node_if(p, STRUCT_KW, STRUCT_ITEM, struct_item) || node_if(p, STRUCT_KW, STRUCT_ITEM, struct_item)
|| node_if(p, FN_KW, FN_ITEM, fn_item); || node_if(p, FN_KW, FN_ITEM, fn_item);
if item_parsed && attrs_start != item_start {
p.forward_parent(attrs_start, item_start); p.forward_parent(attrs_start, item_start);
}
item_parsed item_parsed
} }

View file

@ -55,6 +55,9 @@ impl<'t> Parser<'t> {
} }
pub(crate) fn forward_parent(&mut self, child: Mark, parent: Mark) { pub(crate) fn forward_parent(&mut self, child: Mark, parent: Mark) {
if child == parent || parent == self.mark() {
return
}
assert!(child.0 < parent.0); assert!(child.0 < parent.0);
let diff = parent.0 - child.0; let diff = parent.0 - child.0;
match self.events[child.0 as usize] { match self.events[child.0 as usize] {