pub enum StrictPathError {
InvalidRestriction {
restriction: PathBuf,
source: Error,
},
PathEscapesBoundary {
attempted_path: PathBuf,
restriction_boundary: PathBuf,
},
PathResolutionError {
path: PathBuf,
source: Error,
},
}Expand description
SUMMARY: Represent errors produced by boundary creation and strict/virtual path validation.
DETAILS:
This error type is returned by operations that construct PathBoundary
VirtualRoot or that compose StrictPath/VirtualPath via joins. Each
variant carries enough context for actionable diagnostics while avoiding
leaking unbounded path data into messages (we truncate long displays).
VARIANTS:
InvalidRestriction: The boundary directory is missing, not a directory, or failed I/O checks.PathEscapesBoundary: A candidate path would resolve outside the boundary.PathResolutionError: Canonicalization or resolution failed (I/O error).
Variants§
InvalidRestriction
SUMMARY: The boundary directory is invalid (missing, not a directory, or I/O error).
FIELDS:
restriction(PathBuf): The attempted boundary path.source(std::io::Error): Underlying OS error that explains why the restriction is invalid.
PathEscapesBoundary
SUMMARY: The attempted path would resolve outside the PathBoundary boundary.
FIELDS:
attempted_path(PathBuf): The user-supplied or composed candidate.restriction_boundary(PathBuf): The effective boundary root.
PathResolutionError
SUMMARY: Canonicalization/resolution failed for the given path.
FIELDS:
path(PathBuf): The path whose resolution failed.source(std::io::Error): Underlying I/O cause.
Trait Implementations§
Source§impl Debug for StrictPathError
impl Debug for StrictPathError
Source§impl Display for StrictPathError
impl Display for StrictPathError
Source§impl Error for StrictPathError
impl Error for StrictPathError
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 StrictPathError
impl !RefUnwindSafe for StrictPathError
impl Send for StrictPathError
impl Sync for StrictPathError
impl Unpin for StrictPathError
impl !UnwindSafe for StrictPathError
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