#[non_exhaustive]pub enum ErrorCode {
Show 21 variants
ZipInvalid,
ZipEncrypted,
PathInvalid,
PathEmpty,
PathLeadingSlash,
PathTraversal,
PathReservedChar,
PathControlChar,
DuplicatePath,
PathConflict,
ManifestInvalid,
EntryPointInvalid,
EntryPointMissing,
EntryPointUnresolved,
VersionUnsupported,
ModeUnsupported,
LimitExceeded,
EntryPointChanged,
NotFound,
TextInvalid,
Io,
}Expand description
A stable, machine-readable error code, such as ERR_ENTRYPOINT_MISSING.
Compare codes, not messages: messages can change between releases, codes
don’t. ErrorCode::as_str gives the code as the spec writes it.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
ZipInvalid
Not a valid ZIP archive, or an entry is corrupt or uses an unsupported compression method (Section 4).
ZipEncrypted
An entry is encrypted (Section 4).
PathInvalid
An entry path breaks a rule in Section 5.4 not covered by a more
specific code below (for example an empty or . segment).
PathEmpty
An entry path is empty.
PathLeadingSlash
An entry path starts with /.
PathTraversal
An entry path has a .. segment.
PathReservedChar
An entry path has a reserved character: \ : * ? " < > |.
PathControlChar
An entry path has a control character (U+0000–U+001F, U+007F).
DuplicatePath
Two entries have the same path after NFC normalization.
PathConflict
A file’s path is also the directory of another entry, such as docs
and docs/intro.md.
ManifestInvalid
manifest.json is unreadable, or a critical field has the wrong type
or value (Section 6.4).
EntryPointInvalid
The manifest entryPoint isn’t a valid entry point path (Section 5.5).
EntryPointMissing
The manifest entryPoint is valid but matches no entry (Section 5.5).
EntryPointUnresolved
No unambiguous entry point could be found (Section 5.5, rule 4).
VersionUnsupported
The archive targets a newer major version of the spec (Section 11).
ModeUnsupported
The manifest mode isn’t document or project (Section 5.7.5).
LimitExceeded
A resource limit (entry count, size, compression ratio) was exceeded (Section 13.1).
EntryPointChanged
Library-specific: an update would change or break which file the entry point resolves to (Section 14.1).
NotFound
Library-specific: a requested entry isn’t in the archive.
TextInvalid
Library-specific: an entry read as text isn’t valid UTF-8 (Section 7.1).
Io
Library-specific: reading or writing a file on disk failed.
Implementations§
Trait Implementations§
impl Copy for ErrorCode
impl Eq for ErrorCode
impl StructuralPartialEq for ErrorCode
Auto Trait Implementations§
impl Freeze for ErrorCode
impl RefUnwindSafe for ErrorCode
impl Send for ErrorCode
impl Sync for ErrorCode
impl Unpin for ErrorCode
impl UnsafeUnpin for ErrorCode
impl UnwindSafe for ErrorCode
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.