Make Diagnostic::is_error return false for Level::FailureNote.

It doesn't affect behaviour, but makes sense with (a) `FailureNote` having
`()` as its emission guarantee, and (b) in `Level` the `is_error` levels
now are all listed before the non-`is_error` levels.
This commit is contained in:
Nicholas Nethercote 2024-01-31 09:25:42 +11:00
parent 4e3eed4892
commit e8c3cbf44b
2 changed files with 6 additions and 3 deletions

View file

@ -238,8 +238,7 @@ pub fn is_error(&self) -> bool {
Level::Bug
| Level::DelayedBug(DelayedBugKind::Normal)
| Level::Fatal
| Level::Error
| Level::FailureNote => true,
| Level::Error => true,
Level::ForceWarning(_)
| Level::Warning
@ -248,6 +247,7 @@ pub fn is_error(&self) -> bool {
| Level::OnceNote
| Level::Help
| Level::OnceHelp
| Level::FailureNote
| Level::Allow
| Level::Expect(_) => false,
}

View file

@ -1541,6 +1541,8 @@ pub enum Level {
///
/// The [`LintExpectationId`] is used for expected lint diagnostics. In all other cases this
/// should be `None`.
///
/// Its `EmissionGuarantee` is `()`.
ForceWarning(Option<LintExpectationId>),
/// A warning about the code being compiled. Does not prevent compilation from finishing.
@ -1570,7 +1572,8 @@ pub enum Level {
/// Its `EmissionGuarantee` is `()`.
OnceHelp,
/// Similar to `Note`, but used in cases where compilation has failed. Rare.
/// Similar to `Note`, but used in cases where compilation has failed. When printed for human
/// consumption, it doesn't have any kind of `note:` label. Rare.
///
/// Its `EmissionGuarantee` is `()`.
FailureNote,