From b9a892f39b22e0e1723e4cf36a735d598fab3cdb Mon Sep 17 00:00:00 2001 From: Gavrilikhin Daniil Date: Sat, 6 May 2023 12:59:10 +0800 Subject: [PATCH] Use `Option` --- src/miette_diagnostic.rs | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/miette_diagnostic.rs b/src/miette_diagnostic.rs index 8ec7de6..13048cf 100644 --- a/src/miette_diagnostic.rs +++ b/src/miette_diagnostic.rs @@ -19,7 +19,7 @@ pub struct MietteDiagnostic { /// [`Diagnostic`] severity. Intended to be used by /// [`ReportHandler`](crate::ReportHandler)s to change the way different /// [`Diagnostic`]s are displayed. Defaults to [`Severity::Error`] - pub severity: Severity, + pub severity: Option, /// Additional help text related to this Diagnostic pub help: Option, /// URL to visit for a more detailed explanation/help about this @@ -46,7 +46,7 @@ impl Diagnostic for MietteDiagnostic { } fn severity(&self) -> Option { - Some(self.severity) + self.severity } fn help<'a>(&'a self) -> Option> { @@ -78,13 +78,12 @@ impl MietteDiagnostic { /// let diag = MietteDiagnostic::new("Oops, something went wrong!"); /// assert_eq!(diag.to_string(), "Oops, something went wrong!"); /// assert_eq!(diag.description, "Oops, something went wrong!"); - /// assert_eq!(diag.severity, Severity::Error); /// ``` pub fn new(description: impl Into) -> Self { Self { description: description.into(), - severity: Severity::Error, labels: Vec::new(), + severity: None, code: None, help: None, url: None, @@ -116,10 +115,13 @@ impl MietteDiagnostic { /// /// let diag = MietteDiagnostic::new("I warn you to stop!").with_severity(Severity::Warning); /// assert_eq!(diag.description, "I warn you to stop!"); - /// assert_eq!(diag.severity, Severity::Warning); + /// assert_eq!(diag.severity, Some(Severity::Warning)); /// ``` pub fn with_severity(self, severity: Severity) -> Self { - Self { severity, ..self } + Self { + severity: Some(severity), + ..self + } } /// Return new diagnostic with the given help message.