Enum rustc_resolve::ResolutionError
source · pub(crate) enum ResolutionError<'a> {
Show 25 variants
GenericParamsFromOuterFunction(Res<NodeId>, HasGenericParams),
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 {
label: String,
suggestion: Option<(Vec<(Span, String)>, String, Applicability)>,
},
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(Symbol),
ParamInNonTrivialAnonConst {
name: Symbol,
is_type: bool,
},
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: DiagnosticId,
},
TraitImplDuplicate {
name: Symbol,
trait_item_span: Span,
old_span: Span,
},
InvalidAsmSym,
}
Variants§
GenericParamsFromOuterFunction(Res<NodeId>, HasGenericParams)
Error E0401: can’t use type or const parameters from outer function.
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
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(Symbol)
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
.
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
.
Auto Trait Implementations§
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§
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: 96 bytes
Size for each variant:
GenericParamsFromOuterFunction
: 24 bytesNameAlreadyUsedInParameterList
: 12 bytesMethodNotMemberOfTrait
: 40 bytesTypeNotMemberOfTrait
: 40 bytesConstNotMemberOfTrait
: 40 bytesVariableNotBoundInPattern
: 96 bytesVariableBoundWithDifferentMode
: 12 bytesIdentifierBoundMoreThanOnceInParameterList
: 4 bytesIdentifierBoundMoreThanOnceInSamePattern
: 4 bytesUndeclaredLabel
: 20 bytesSelfImportsOnlyAllowedWithin
: 12 bytesSelfImportCanOnlyAppearOnceInTheList
: 0 bytesSelfImportOnlyInImportListWithNonEmptyPrefix
: 0 bytesFailedToResolve
: 80 bytesCannotCaptureDynamicEnvironmentInFnItem
: 0 bytesAttemptToUseNonConstantValueInConstant
: 48 bytesBindingShadowsSomethingUnacceptable
: 64 bytesForwardDeclaredGenericParam
: 0 bytesParamInTyOfConstParam
: 4 bytesParamInNonTrivialAnonConst
: 8 bytesSelfInGenericParamDefault
: 0 bytesUnreachableLabel
: 28 bytesTraitImplMismatch
: 88 bytesTraitImplDuplicate
: 20 bytesInvalidAsmSym
: 0 bytes