pub enum MirLowerError<'db> {
Show 24 variants
ConstEvalError(Box<str>, Box<ConstEvalError<'db>>),
LayoutError(LayoutError),
IncompleteExpr,
IncompletePattern,
TraitFunctionDefinition(TraitId, Name),
UnresolvedName(String),
RecordLiteralWithoutPath,
UnresolvedMethod(String),
UnresolvedField,
UnsizedTemporary(StoredTy),
MissingFunctionDefinition(InferBodyId<'db>, ExprId),
HasErrors,
TypeError(&'static str),
NotSupported(String),
ContinueWithoutLoop,
BreakWithoutLoop,
Loop,
ImplementationError(String),
LangItemNotFound,
MutatingRvalue,
UnresolvedLabel,
UnresolvedUpvar(Place),
InaccessibleLocal,
GenericArgNotProvided(GenericParamId, StoredGenericArgs),
}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(StoredTy)
MissingFunctionDefinition(InferBodyId<'db>, ExprId)
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)
InaccessibleLocal
GenericArgNotProvided(GenericParamId, StoredGenericArgs)
Implementations§
Source§impl MirLowerError<'_>
impl MirLowerError<'_>
pub fn pretty_print( &self, f: &mut String, db: &dyn HirDatabase, span_formatter: impl Fn(FileId, TextRange) -> String, display_target: DisplayTarget, ) -> Result<(), Error>
Source§impl MirLowerError<'_>
impl MirLowerError<'_>
fn unresolved_path( db: &dyn HirDatabase, p: &Path, display_target: DisplayTarget, owner: ExpressionStoreOwnerId, store: &ExpressionStore, ) -> Self
Trait Implementations§
Source§impl<'db> Clone for MirLowerError<'db>
impl<'db> Clone for MirLowerError<'db>
Source§fn clone(&self) -> MirLowerError<'db>
fn clone(&self) -> MirLowerError<'db>
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<'db> Debug for MirLowerError<'db>
impl<'db> Debug for MirLowerError<'db>
Source§impl From<LayoutError> for MirLowerError<'_>
impl From<LayoutError> for MirLowerError<'_>
Source§fn from(value: LayoutError) -> Self
fn from(value: LayoutError) -> Self
Converts to this type from the input type.
Source§impl<'db> From<MirLowerError<'db>> for ConstEvalError<'db>
impl<'db> From<MirLowerError<'db>> for ConstEvalError<'db>
Source§fn from(value: MirLowerError<'db>) -> Self
fn from(value: MirLowerError<'db>) -> Self
Converts to this type from the input type.
Source§impl<'db> PartialEq for MirLowerError<'db>
impl<'db> PartialEq for MirLowerError<'db>
Source§fn eq(&self, other: &MirLowerError<'db>) -> bool
fn eq(&self, other: &MirLowerError<'db>) -> bool
Tests for
self and other values to be equal, and is used by ==.Source§impl<'db> Update for MirLowerError<'db>
impl<'db> Update 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> UnsafeUnpin 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
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<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