While parsing enum variant, the error message always disappear
Because the error message that emit out is from main error of parser The information of enum variant disappears while parsing enum variant with error We only check the syntax of expecting token, i.e, in case #103869 It will error it without telling the message that this error is from pasring enum variant. Propagate the sub-error from parsing enum variant to the main error of parser by chaining it with map_err Check the sub-error before emitting the main error of parser and attach it. Fix #103869
This commit is contained in:
parent
90711a86e5
commit
0e19fb92e1
9 changed files with 39 additions and 1 deletions
|
@ -943,6 +943,10 @@ impl<'a> Parser<'a> {
|
|||
Err(e) => {
|
||||
// Parsing failed, therefore it must be something more serious
|
||||
// than just a missing separator.
|
||||
for xx in &e.children {
|
||||
// propagate the help message from sub error 'e' to main error 'expect_err;
|
||||
expect_err.children.push(xx.clone());
|
||||
}
|
||||
expect_err.emit();
|
||||
|
||||
e.cancel();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue