pub struct CompilerDiagnostic {
pub category: ErrorCategory,
pub reason: String,
pub description: Option<String>,
pub details: Vec<CompilerDiagnosticDetail>,
pub suggestions: Option<Vec<CompilerSuggestion>>,
}Expand description
A single compiler diagnostic (new-style)
Fields§
§category: ErrorCategory§reason: String§description: Option<String>§details: Vec<CompilerDiagnosticDetail>§suggestions: Option<Vec<CompilerSuggestion>>Implementations§
Source§impl CompilerDiagnostic
impl CompilerDiagnostic
pub fn new( category: ErrorCategory, reason: impl Into<String>, description: Option<String>, ) -> CompilerDiagnostic
pub fn severity(&self) -> ErrorSeverity
pub fn logged_severity(&self) -> ErrorSeverity
pub fn with_detail(self, detail: CompilerDiagnosticDetail) -> CompilerDiagnostic
Sourcepub fn todo(
reason: impl Into<String>,
loc: Option<SourceLocation>,
) -> CompilerDiagnostic
pub fn todo( reason: impl Into<String>, loc: Option<SourceLocation>, ) -> CompilerDiagnostic
Create a Todo diagnostic (matches TS CompilerError.throwTodo()).
Sourcepub fn from_detail(detail: CompilerErrorDetail) -> CompilerDiagnostic
pub fn from_detail(detail: CompilerErrorDetail) -> CompilerDiagnostic
Create a diagnostic from a CompilerErrorDetail.
pub fn primary_location(&self) -> Option<&SourceLocation>
Trait Implementations§
Source§impl Clone for CompilerDiagnostic
impl Clone for CompilerDiagnostic
Source§fn clone(&self) -> CompilerDiagnostic
fn clone(&self) -> CompilerDiagnostic
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for CompilerDiagnostic
impl Debug for CompilerDiagnostic
Source§impl From<CompilerError> for CompilerDiagnostic
Allow ? to convert a CompilerError into a CompilerDiagnostic
when the enclosing function returns Result<T, CompilerDiagnostic>.
impl From<CompilerError> for CompilerDiagnostic
Allow ? to convert a CompilerError into a CompilerDiagnostic
when the enclosing function returns Result<T, CompilerDiagnostic>.
This typically happens when record_error() returns Err(CompilerError)
for an Invariant error, and the calling function already returns
Result<T, CompilerDiagnostic>. The conversion extracts the first
error detail from the aggregate error.
Source§fn from(err: CompilerError) -> CompilerDiagnostic
fn from(err: CompilerError) -> CompilerDiagnostic
Converts to this type from the input type.
Auto Trait Implementations§
impl Freeze for CompilerDiagnostic
impl RefUnwindSafe for CompilerDiagnostic
impl Send for CompilerDiagnostic
impl Sync for CompilerDiagnostic
impl Unpin for CompilerDiagnostic
impl UnsafeUnpin for CompilerDiagnostic
impl UnwindSafe for CompilerDiagnostic
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more