pub enum Error {
Partial(Vec<Error>),
WithLineNumber {
line: u64,
err: Box<Error>,
},
WithPath {
path: PathBuf,
err: Box<Error>,
},
WithDepth {
depth: usize,
err: Box<Error>,
},
Loop {
ancestor: PathBuf,
child: PathBuf,
},
Io(Error),
Glob {
glob: Option<String>,
err: String,
},
UnrecognizedFileType(String),
InvalidDefinition,
}
Expand description
Represents an error that can occur when parsing a gitignore file.
Variants§
Partial(Vec<Error>)
A collection of “soft” errors. These occur when adding an ignore file partially succeeded.
WithLineNumber
An error associated with a specific line number.
WithPath
An error associated with a particular file path.
WithDepth
An error associated with a particular directory depth when recursively walking a directory.
Loop
An error that occurs when a file loop is detected when traversing symbolic links.
Fields
Io(Error)
An error that occurs when doing I/O, such as reading an ignore file.
Glob
An error that occurs when trying to parse a glob.
Fields
glob: Option<String>
The original glob that caused this error. This glob, when
available, always corresponds to the glob provided by an end user.
e.g., It is the glob as written in a .gitignore
file.
(This glob may be distinct from the glob that is actually
compiled, after accounting for gitignore
semantics.)
UnrecognizedFileType(String)
A type selection for a file type that is not defined.
InvalidDefinition
A user specified file type definition could not be parsed.
Implementations§
source§impl Error
impl Error
sourcepub fn is_partial(&self) -> bool
pub fn is_partial(&self) -> bool
Returns true if this is a partial error.
A partial error occurs when only some operations failed while others may have succeeded. For example, an ignore file may contain an invalid glob among otherwise valid globs.
sourcepub fn io_error(&self) -> Option<&Error>
pub fn io_error(&self) -> Option<&Error>
Inspect the original std::io::Error
if there is one.
None
is returned if the Error
doesn’t correspond to an
std::io::Error
. This might happen, for example, when the error was
produced because a cycle was found in the directory tree while
following symbolic links.
This method returns a borrowed value that is bound to the lifetime of the Error
. To
obtain an owned value, the into_io_error
can be used instead.
This is the original
std::io::Error
and is not the same asimpl From<Error> for std::io::Error
which contains additional context about the error.
sourcepub fn into_io_error(self) -> Option<Error>
pub fn into_io_error(self) -> Option<Error>
Similar to io_error
except consumes self to convert to the original
std::io::Error
if one exists.
Trait Implementations§
source§impl Error for Error
impl Error for Error
source§fn description(&self) -> &str
fn description(&self) -> &str
1.30.0 · source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
Auto Trait Implementations§
impl Freeze for Error
impl !RefUnwindSafe for Error
impl Send for Error
impl Sync for Error
impl Unpin for Error
impl !UnwindSafe for Error
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§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)