Struct wast::Error

source ·
pub struct Error { /* private fields */ }
Expand description

A convenience error type to tie together all the detailed errors produced by this crate.

This type can be created from a LexError. This also contains storage for file/text information so a nice error can be rendered along the same lines of rustc’s own error messages (minus the color).

This type is typically suitable for use in public APIs for consumers of this crate.

Implementations§

source§

impl Error

source

pub fn new(span: Span, message: String) -> Error

Creates a new error with the given message which is targeted at the given span

Note that you’ll want to ensure that set_text or set_path is called on the resulting error to improve the rendering of the error message.

source

pub fn span(&self) -> Span

Return the Span for this error.

source

pub fn set_text(&mut self, contents: &str)

To provide a more useful error this function can be used to extract relevant textual information about this error into the error itself.

The contents here should be the full text of the original file being parsed, and this will extract a sub-slice as necessary to render in the Display implementation later on.

source

pub fn set_path(&mut self, path: &Path)

To provide a more useful error this function can be used to set the file name that this error is associated with.

The path here will be stored in this error and later rendered in the Display implementation.

source

pub fn lex_error(&self) -> Option<&LexError>

Returns the underlying LexError, if any, that describes this error.

source

pub fn message(&self) -> String

Returns the underlying message, if any, that describes this error.

Trait Implementations§

source§

impl Debug for Error

source§

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

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

impl Display for Error

source§

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

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

impl Error for Error

1.30.0 · source§

fn source(&self) -> Option<&(dyn Error + 'static)>

The lower-level source of this error, if any. Read more
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more

Auto Trait Implementations§

§

impl Freeze for Error

§

impl RefUnwindSafe for Error

§

impl Send for Error

§

impl Sync for Error

§

impl Unpin for Error

§

impl UnwindSafe for Error

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where 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 T
where 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> ToString for T
where T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

impl<T, U> TryFrom<U> for T
where 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 T
where 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.