Enum ResolveErrorKind
#[non_exhaustive]pub enum ResolveErrorKind {
PackageNotFound {
span: Span,
requested: PackageName,
known: Vec<PackageName>,
},
InvalidTransitiveDependency {
span: Span,
name: String,
},
DuplicatePackage {
name: PackageName,
span1: Span,
span2: Span,
},
PackageCycle {
package: PackageName,
span: Span,
},
ItemShadowing {
span: Span,
item_type: String,
name: String,
},
StabilityMismatch {
span: Span,
from: Stability,
into: Stability,
},
Semantic {
span: Span,
message: String,
},
}Expand description
The category of error that occurred while resolving a WIT package.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
PackageNotFound
A referenced package could not be found among the known packages.
InvalidTransitiveDependency
An interface has a transitive dependency that creates an incompatible import relationship.
DuplicatePackage
The same package is defined in two different locations.
PackageCycle
Packages form a dependency cycle.
ItemShadowing
A world item shadows a previously-included item of the same kind
StabilityMismatch
Two stability annotations conflict during merge
Semantic
A semantic error during resolution (type mismatch, invalid use, etc.)
Implementations§
§impl ResolveErrorKind
impl ResolveErrorKind
Trait Implementations§
§impl Debug for ResolveErrorKind
impl Debug for ResolveErrorKind
§impl Display for ResolveErrorKind
impl Display for ResolveErrorKind
impl Eq for ResolveErrorKind
§impl From<ResolveErrorKind> for ResolveError
impl From<ResolveErrorKind> for ResolveError
§fn from(kind: ResolveErrorKind) -> ResolveError
fn from(kind: ResolveErrorKind) -> ResolveError
Converts to this type from the input type.
§impl PartialEq for ResolveErrorKind
impl PartialEq for ResolveErrorKind
§fn eq(&self, other: &ResolveErrorKind) -> bool
fn eq(&self, other: &ResolveErrorKind) -> bool
Tests for
self and other values to be equal, and is used by ==.impl StructuralPartialEq for ResolveErrorKind
Auto Trait Implementations§
impl Freeze for ResolveErrorKind
impl RefUnwindSafe for ResolveErrorKind
impl Send for ResolveErrorKind
impl Sync for ResolveErrorKind
impl Unpin for ResolveErrorKind
impl UnsafeUnpin for ResolveErrorKind
impl UnwindSafe for ResolveErrorKind
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
§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> ⓘ
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