pub enum WorkspaceError {
Show 39 variants
ManifestNotFound {
path: PathBuf,
},
ManifestUnreadable {
path: PathBuf,
source: Error,
},
Io {
path: PathBuf,
source: Error,
},
Manifest {
path: PathBuf,
source: Box<ManifestError>,
},
EmptyManifest {
path: PathBuf,
},
LocalDependencyManifestMissing {
dep_name: String,
expected: PathBuf,
},
LocalDependencyIsWorkspace {
dep_name: String,
path: PathBuf,
},
DependencyNameMismatch {
dep_name: String,
actual_name: String,
path: PathBuf,
},
DuplicatePackageName {
name: String,
first: PathBuf,
second: PathBuf,
},
PackageDependencyCycle(Vec<String>),
WorkspaceMemberMissing {
pattern: String,
root: PathBuf,
},
UnsupportedWorkspacePattern {
pattern: String,
},
WorkspacePatternEscapesRoot {
field: &'static str,
pattern: String,
},
UnresolvedRegistryDependency {
dep_name: String,
parent: String,
},
PortDependencyNotPrepared {
dep_name: String,
parent: String,
port_dir: PathBuf,
},
BuiltinPortDependencyNotPrepared {
dep_name: String,
parent: String,
},
PortDirectoryMissing {
dep_name: String,
parent: String,
port_dir: PathBuf,
},
RegistryPackageMismatch {
name: String,
version: String,
actual_name: String,
actual_version: String,
path: PathBuf,
},
UnresolvedWorkspaceDependency {
dep_name: String,
parent: String,
kind: DependencyKind,
},
DefaultMemberNotInMembers {
member: String,
},
UnusedExcludePattern {
pattern: String,
root: PathBuf,
},
NestedWorkspace {
path: PathBuf,
},
InvalidWorkspaceDependency {
name: String,
source: Box<ManifestError>,
},
PackageNotInWorkspace {
name: String,
members: Vec<String>,
},
ExcludeWithoutWorkspaceSelection,
DefaultMembersWithoutWorkspace,
AmbiguousPackageSelection,
IncompatibleWorkspaceRequirements {
name: String,
requirements: String,
source: Error,
},
RegistryPackageNameMismatch {
name: String,
actual_name: String,
path: PathBuf,
},
UnsafeRegistryPackageName {
name: String,
},
NestedWorkspaceFromInside {
nested: PathBuf,
parent: PathBuf,
},
NestedWorkspaceDiscovery {
nearest: PathBuf,
outer: PathBuf,
},
MemberDeclaresProfiles {
package: String,
path: PathBuf,
},
MemberDeclaresToolchain {
package: String,
path: PathBuf,
},
MemberDeclaresCompilerWrapper {
package: String,
path: PathBuf,
},
MemberDeclaresPatches {
package: String,
path: PathBuf,
},
RegistryPackageDeclaresPathDependency {
package: String,
dep_name: String,
path: PathBuf,
},
RegistryPackageDeclaresPortDependency {
package: String,
dep_name: String,
path: PathBuf,
},
PatchConflictsWithRegistry {
package: String,
path: PathBuf,
},
}Expand description
Errors produced while loading a workspace, a single package, or its transitive local path dependencies.
Variants§
ManifestNotFound
No cabin.toml was found at the requested path. Distinct
from WorkspaceError::Io so the diagnostic layer can
emit a single, deduplicated manifest_not_found report
with help text instead of leaking the underlying
io::ErrorKind::NotFound chain.
ManifestUnreadable
The manifest exists but Cabin could not read it. Captures
permission denied, IsADirectory, and similar failures —
anything except plain NotFound, which uses
WorkspaceError::ManifestNotFound.
Io
Manifest
EmptyManifest
LocalDependencyManifestMissing
LocalDependencyIsWorkspace
DependencyNameMismatch
DuplicatePackageName
PackageDependencyCycle(Vec<String>)
WorkspaceMemberMissing
UnsupportedWorkspacePattern
WorkspacePatternEscapesRoot
UnresolvedRegistryDependency
PortDependencyNotPrepared
BuiltinPortDependencyNotPrepared
PortDirectoryMissing
RegistryPackageMismatch
UnresolvedWorkspaceDependency
DefaultMemberNotInMembers
UnusedExcludePattern
NestedWorkspace
InvalidWorkspaceDependency
PackageNotInWorkspace
ExcludeWithoutWorkspaceSelection
DefaultMembersWithoutWorkspace
AmbiguousPackageSelection
IncompatibleWorkspaceRequirements
RegistryPackageNameMismatch
UnsafeRegistryPackageName
NestedWorkspaceFromInside
NestedWorkspaceDiscovery
MemberDeclaresProfiles
MemberDeclaresToolchain
MemberDeclaresCompilerWrapper
MemberDeclaresPatches
RegistryPackageDeclaresPathDependency
RegistryPackageDeclaresPortDependency
PatchConflictsWithRegistry
Trait Implementations§
Source§impl Debug for WorkspaceError
impl Debug for WorkspaceError
Source§impl Diagnostic for WorkspaceError
impl Diagnostic for WorkspaceError
Source§fn code(&self) -> Option<Box<dyn Display + '_>>
fn code(&self) -> Option<Box<dyn Display + '_>>
Unique diagnostic code that can be used to look up more information
about this
Diagnostic. Ideally also globally unique, and documented
in the toplevel crate’s documentation for easy searching. Rust path
format (foo::bar::baz) is recommended, but more classic codes like
E0123 or enums will work just fine.Source§fn help(&self) -> Option<Box<dyn Display + '_>>
fn help(&self) -> Option<Box<dyn Display + '_>>
Additional help text related to this
Diagnostic. Do you have any
advice for the poor soul who’s just run into this issue?Source§fn severity(&self) -> Option<Severity>
fn severity(&self) -> Option<Severity>
Diagnostic severity. This may be used by
ReportHandlers to change the display format
of this diagnostic. Read moreSource§fn url<'a>(&'a self) -> Option<Box<dyn Display + 'a>>
fn url<'a>(&'a self) -> Option<Box<dyn Display + 'a>>
URL to visit for a more detailed explanation/help about this
Diagnostic.Source§fn source_code(&self) -> Option<&dyn SourceCode>
fn source_code(&self) -> Option<&dyn SourceCode>
Source code to apply this
Diagnostic’s Diagnostic::labels to.Source§fn labels(&self) -> Option<Box<dyn Iterator<Item = LabeledSpan> + '_>>
fn labels(&self) -> Option<Box<dyn Iterator<Item = LabeledSpan> + '_>>
Labels to apply to this
Diagnostic’s Diagnostic::source_codeAdditional related
Diagnostics.Source§fn diagnostic_source(&self) -> Option<&dyn Diagnostic>
fn diagnostic_source(&self) -> Option<&dyn Diagnostic>
The cause of the error.
Source§impl Display for WorkspaceError
impl Display for WorkspaceError
Source§impl Error for WorkspaceError
impl Error for WorkspaceError
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
👎Deprecated since 1.42.0:
use the Display impl or to_string()
Auto Trait Implementations§
impl Freeze for WorkspaceError
impl !RefUnwindSafe for WorkspaceError
impl Send for WorkspaceError
impl Sync for WorkspaceError
impl Unpin for WorkspaceError
impl UnsafeUnpin for WorkspaceError
impl !UnwindSafe for WorkspaceError
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