pub struct Diagnostic { /* private fields */ }
Expand description

Provides detailed, rich description of a compile error or warning.

Implementations§

source§

impl Diagnostic

source

pub fn is_old_style(&self) -> bool

For backward compatibility purposes. True if the diagnostic was defined before the detailed diagnostics were introduced. An old-style diagnostic contains just the issue.

source

pub fn level(&self) -> Level

source

pub fn reason(&self) -> Option<&Reason>

source

pub fn issue(&self) -> &Issue

source

pub fn labels(&self) -> Vec<&Label>

All the labels, potentially in different source files.

source

pub fn labels_in_source(&self, source_path: &SourcePath) -> Vec<&Label>

All the labels in the source file found at source_path.

source

pub fn labels_in_issue_source(&self) -> Vec<&Label>

source

pub fn help(&self) -> impl Iterator<Item = &String> + '_

source

pub fn related_sources(&self, include_issue_source: bool) -> Vec<&SourcePath>

All the source files that are related to the diagnostic. This means the source file of the issue itself as well as source files of all the hints.

Trait Implementations§

source§

impl Debug for Diagnostic

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for Diagnostic

source§

fn default() -> Diagnostic

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> Same<T> for T

§

type Output = T

Should always be Self
§

impl<T> StorageAsMut for T

§

fn storage<Type>(&mut self) -> StorageMut<'_, Self, Type>where Type: Mappable,

§

fn storage_as_mut<Type>(&mut self) -> StorageMut<'_, Self, Type>where Type: Mappable,

§

impl<T> StorageAsRef for T

§

fn storage<Type>(&self) -> StorageRef<'_, Self, Type>where Type: Mappable,

§

fn storage_as_ref<Type>(&self) -> StorageRef<'_, Self, Type>where Type: Mappable,

source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for Twhere V: MultiLane<T>,

§

fn vzip(self) -> V