Enum MirLowerError
pub enum MirLowerError<'db> {
Show 25 variants
ConstEvalError(Box<str>, Box<ConstEvalError<'db>>),
LayoutError(LayoutError),
IncompleteExpr,
IncompletePattern,
TraitFunctionDefinition(TraitId, Name),
UnresolvedName(String),
RecordLiteralWithoutPath,
UnresolvedMethod(String),
UnresolvedField,
UnsizedTemporary(Ty<'db>),
MissingFunctionDefinition(DefWithBodyId, Idx<Expr>),
TypeMismatch(TypeMismatch<'db>),
HasErrors,
TypeError(&'static str),
NotSupported(String),
ContinueWithoutLoop,
BreakWithoutLoop,
Loop,
ImplementationError(String),
LangItemNotFound,
MutatingRvalue,
UnresolvedLabel,
UnresolvedUpvar(Place<'db>),
InaccessibleLocal,
GenericArgNotProvided(GenericParamId, GenericArgs<'db>),
}Variants§
ConstEvalError(Box<str>, Box<ConstEvalError<'db>>)
LayoutError(LayoutError)
IncompleteExpr
IncompletePattern
TraitFunctionDefinition(TraitId, Name)
Trying to lower a trait function, instead of an implementation
UnresolvedName(String)
RecordLiteralWithoutPath
UnresolvedMethod(String)
UnresolvedField
UnsizedTemporary(Ty<'db>)
MissingFunctionDefinition(DefWithBodyId, Idx<Expr>)
TypeMismatch(TypeMismatch<'db>)
HasErrors
TypeError(&'static str)
This should never happen. Type mismatch should catch everything.
NotSupported(String)
ContinueWithoutLoop
BreakWithoutLoop
Loop
ImplementationError(String)
Something that should never happen and is definitely a bug, but we don’t want to panic if it happened
LangItemNotFound
MutatingRvalue
UnresolvedLabel
UnresolvedUpvar(Place<'db>)
InaccessibleLocal
GenericArgNotProvided(GenericParamId, GenericArgs<'db>)
Implementations§
§impl MirLowerError<'_>
impl MirLowerError<'_>
pub fn pretty_print( &self, f: &mut String, db: &(dyn HirDatabase + 'static), span_formatter: impl Fn(FileId, TextRange) -> String, display_target: DisplayTarget, ) -> Result<(), Error>
Trait Implementations§
§impl<'db> Clone for MirLowerError<'db>
impl<'db> Clone for MirLowerError<'db>
§fn clone(&self) -> MirLowerError<'db>
fn clone(&self) -> MirLowerError<'db>
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read more§impl<'db> Debug for MirLowerError<'db>
impl<'db> Debug for MirLowerError<'db>
§impl From<LayoutError> for MirLowerError<'_>
impl From<LayoutError> for MirLowerError<'_>
§fn from(value: LayoutError) -> MirLowerError<'_>
fn from(value: LayoutError) -> MirLowerError<'_>
Converts to this type from the input type.
§impl<'db> From<MirLowerError<'db>> for ConstEvalError<'db>
impl<'db> From<MirLowerError<'db>> for ConstEvalError<'db>
§fn from(value: MirLowerError<'db>) -> ConstEvalError<'db>
fn from(value: MirLowerError<'db>) -> ConstEvalError<'db>
Converts to this type from the input type.
§impl<'db> PartialEq for MirLowerError<'db>
impl<'db> PartialEq for MirLowerError<'db>
impl<'db> Eq for MirLowerError<'db>
impl<'db> StructuralPartialEq for MirLowerError<'db>
Auto Trait Implementations§
impl<'db> Freeze for MirLowerError<'db>
impl<'db> RefUnwindSafe for MirLowerError<'db>
impl<'db> Send for MirLowerError<'db>
impl<'db> Sync for MirLowerError<'db>
impl<'db> Unpin for MirLowerError<'db>
impl<'db> UnwindSafe for MirLowerError<'db>
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T, R> CollectAndApply<T, R> for T
impl<T, R> CollectAndApply<T, R> for T
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more