Enum rustc_resolve::ResolutionError
source · pub(crate) enum ResolutionError<'a> {
Show 28 variants
GenericParamsFromOuterItem(Res<NodeId>, HasGenericParams, DefKind),
NameAlreadyUsedInParameterList(Symbol, Span),
MethodNotMemberOfTrait(Ident, String, Option<Symbol>),
TypeNotMemberOfTrait(Ident, String, Option<Symbol>),
ConstNotMemberOfTrait(Ident, String, Option<Symbol>),
VariableNotBoundInPattern(BindingError, ParentScope<'a>),
VariableBoundWithDifferentMode(Symbol, Span),
IdentifierBoundMoreThanOnceInParameterList(Symbol),
IdentifierBoundMoreThanOnceInSamePattern(Symbol),
UndeclaredLabel {
name: Symbol,
suggestion: Option<(Ident, bool)>,
},
SelfImportsOnlyAllowedWithin {
root: bool,
span_with_rename: Span,
},
SelfImportCanOnlyAppearOnceInTheList,
SelfImportOnlyInImportListWithNonEmptyPrefix,
FailedToResolve {
segment: Option<Symbol>,
label: String,
suggestion: Option<(Vec<(Span, String)>, String, Applicability)>,
module: Option<ModuleOrUniformRoot<'a>>,
},
CannotCaptureDynamicEnvironmentInFnItem,
AttemptToUseNonConstantValueInConstant(Ident, &'static str, &'static str),
BindingShadowsSomethingUnacceptable {
shadowing_binding: PatternSource,
name: Symbol,
participle: &'static str,
article: &'static str,
shadowed_binding: Res<NodeId>,
shadowed_binding_span: Span,
},
ForwardDeclaredGenericParam,
ParamInTyOfConstParam {
name: Symbol,
param_kind: Option<ParamKindInTyOfConstParam>,
},
ParamInNonTrivialAnonConst {
name: Symbol,
param_kind: ParamKindInNonTrivialAnonConst,
},
ParamInEnumDiscriminant {
name: Symbol,
param_kind: ParamKindInEnumDiscriminant,
},
SelfInGenericParamDefault,
UnreachableLabel {
name: Symbol,
definition_span: Span,
suggestion: Option<(Ident, bool)>,
},
TraitImplMismatch {
name: Symbol,
kind: &'static str,
trait_path: String,
trait_item_span: Span,
code: ErrCode,
},
TraitImplDuplicate {
name: Symbol,
trait_item_span: Span,
old_span: Span,
},
InvalidAsmSym,
LowercaseSelf,
BindingInNeverPattern,
}
Variants§
GenericParamsFromOuterItem(Res<NodeId>, HasGenericParams, DefKind)
Error E0401: can’t use type or const parameters from outer item.
NameAlreadyUsedInParameterList(Symbol, Span)
Error E0403: the name is already used for a type or const parameter in this generic parameter list.
MethodNotMemberOfTrait(Ident, String, Option<Symbol>)
Error E0407: method is not a member of trait.
TypeNotMemberOfTrait(Ident, String, Option<Symbol>)
Error E0437: type is not a member of trait.
ConstNotMemberOfTrait(Ident, String, Option<Symbol>)
Error E0438: const is not a member of trait.
VariableNotBoundInPattern(BindingError, ParentScope<'a>)
Error E0408: variable {}
is not bound in all patterns.
VariableBoundWithDifferentMode(Symbol, Span)
Error E0409: variable {}
is bound in inconsistent ways within the same match arm.
IdentifierBoundMoreThanOnceInParameterList(Symbol)
Error E0415: identifier is bound more than once in this parameter list.
IdentifierBoundMoreThanOnceInSamePattern(Symbol)
Error E0416: identifier is bound more than once in the same pattern.
UndeclaredLabel
Error E0426: use of undeclared label.
SelfImportsOnlyAllowedWithin
Error E0429: self
imports are only allowed within a { }
list.
SelfImportCanOnlyAppearOnceInTheList
Error E0430: self
import can only appear once in the list.
SelfImportOnlyInImportListWithNonEmptyPrefix
Error E0431: self
import can only appear in an import list with a non-empty prefix.
FailedToResolve
Fields
module: Option<ModuleOrUniformRoot<'a>>
Error E0433: failed to resolve.
CannotCaptureDynamicEnvironmentInFnItem
Error E0434: can’t capture dynamic environment in a fn item.
AttemptToUseNonConstantValueInConstant(Ident, &'static str, &'static str)
Error E0435: attempt to use a non-constant value in a constant.
BindingShadowsSomethingUnacceptable
Fields
shadowing_binding: PatternSource
Error E0530: X
bindings cannot shadow Y
s.
ForwardDeclaredGenericParam
Error E0128: generic parameters with a default cannot use forward-declared identifiers.
ParamInTyOfConstParam
ERROR E0770: the type of const parameters must not depend on other generic parameters.
ParamInNonTrivialAnonConst
generic parameters must not be used inside const evaluations.
This error is only emitted when using min_const_generics
.
ParamInEnumDiscriminant
generic parameters must not be used inside enum discriminants.
This error is emitted even with generic_const_exprs
.
SelfInGenericParamDefault
Error E0735: generic parameters with a default cannot use Self
UnreachableLabel
Error E0767: use of unreachable label
TraitImplMismatch
Error E0323, E0324, E0325: mismatch between trait item and impl item.
TraitImplDuplicate
Error E0201: multiple impl items for the same trait item.
InvalidAsmSym
Inline asm sym
operand must refer to a fn
or static
.
LowercaseSelf
self
used instead of Self
in a generic parameter
BindingInNeverPattern
A never pattern has a binding.
Trait Implementations§
Auto Trait Implementations§
impl<'a> !DynSend for ResolutionError<'a>
impl<'a> !DynSync for ResolutionError<'a>
impl<'a> Freeze for ResolutionError<'a>
impl<'a> !RefUnwindSafe for ResolutionError<'a>
impl<'a> !Send for ResolutionError<'a>
impl<'a> !Sync for ResolutionError<'a>
impl<'a> Unpin for ResolutionError<'a>
impl<'a> !UnwindSafe for ResolutionError<'a>
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
source§impl<T, R> CollectAndApply<T, R> for T
impl<T, R> CollectAndApply<T, R> for T
§impl<T> Filterable for T
impl<T> Filterable for T
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<P> IntoQueryParam<P> for P
impl<P> IntoQueryParam<P> for P
fn into_query_param(self) -> P
source§impl<T> MaybeResult<T> for T
impl<T> MaybeResult<T> for T
§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<'tcx, T> ToPredicate<'tcx, T> for T
impl<'tcx, T> ToPredicate<'tcx, T> for T
fn to_predicate(self, _tcx: TyCtxt<'tcx>) -> T
source§impl<Tcx, T> Value<Tcx> for Twhere
Tcx: DepContext,
impl<Tcx, T> Value<Tcx> for Twhere
Tcx: DepContext,
default fn from_cycle_error( tcx: Tcx, cycle_error: &CycleError, _guar: ErrorGuaranteed ) -> T
source§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
source§fn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
impl<'a, T> Captures<'a> for Twhere
T: ?Sized,
impl<T> ErasedDestructor for Twhere
T: 'static,
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 104 bytes
Size for each variant:
GenericParamsFromOuterItem
: 36 bytesNameAlreadyUsedInParameterList
: 20 bytesMethodNotMemberOfTrait
: 48 bytesTypeNotMemberOfTrait
: 48 bytesConstNotMemberOfTrait
: 48 bytesVariableNotBoundInPattern
: 104 bytesVariableBoundWithDifferentMode
: 20 bytesIdentifierBoundMoreThanOnceInParameterList
: 12 bytesIdentifierBoundMoreThanOnceInSamePattern
: 12 bytesUndeclaredLabel
: 28 bytesSelfImportsOnlyAllowedWithin
: 20 bytesSelfImportCanOnlyAppearOnceInTheList
: 0 bytesSelfImportOnlyInImportListWithNonEmptyPrefix
: 0 bytesFailedToResolve
: 104 bytesCannotCaptureDynamicEnvironmentInFnItem
: 0 bytesAttemptToUseNonConstantValueInConstant
: 56 bytesBindingShadowsSomethingUnacceptable
: 72 bytesForwardDeclaredGenericParam
: 0 bytesParamInTyOfConstParam
: 16 bytesParamInNonTrivialAnonConst
: 16 bytesParamInEnumDiscriminant
: 16 bytesSelfInGenericParamDefault
: 0 bytesUnreachableLabel
: 36 bytesTraitImplMismatch
: 64 bytesTraitImplDuplicate
: 28 bytesInvalidAsmSym
: 0 bytesLowercaseSelf
: 0 bytesBindingInNeverPattern
: 0 bytes