Remove DiagnosticBuilder::delay_as_bug_without_consuming.

The existing uses are replaced in one of three ways.
- In a function that also has calls to `emit`, just rearrange the code
  so that exactly one of `delay_as_bug` or `emit` is called on every
  path.
- In a function returning a `DiagnosticBuilder`, use
  `downgrade_to_delayed_bug`. That's good enough because it will get
  emitted later anyway.
- In `unclosed_delim_err`, one set of errors is being replaced with
  another set, so just cancel the original errors.
This commit is contained in:
Nicholas Nethercote 2024-01-05 16:38:04 +11:00
parent d406278180
commit 4752a923af
10 changed files with 18 additions and 22 deletions

View file

@ -242,7 +242,7 @@ impl<'a> Parser<'a> {
Some(TopLevelOrPatternNotAllowedSugg::WrapInParens { span, pat })
};
let mut err = self.dcx().create_err(match syntax_loc {
let err = self.dcx().create_err(match syntax_loc {
PatternLocation::LetBinding => {
TopLevelOrPatternNotAllowed::LetBinding { span, sub }
}
@ -251,9 +251,10 @@ impl<'a> Parser<'a> {
}
});
if trailing_vert {
err.delay_as_bug_without_consuming();
err.delay_as_bug();
} else {
err.emit();
}
err.emit();
}
Ok((pat, colon))