cap_std_ext/
lib.rs

1// See https://doc.rust-lang.org/rustc/lints/listing/allowed-by-default.html
2#![deny(missing_docs)]
3#![doc = include_str!("../README.md")]
4#![deny(missing_debug_implementations)]
5#![forbid(unused_must_use)]
6#![deny(unsafe_code)]
7
8use std::io;
9
10// Re-export our dependencies
11pub use cap_primitives;
12#[cfg(feature = "fs_utf8")]
13pub use cap_std::fs_utf8::camino;
14pub use cap_tempfile;
15pub use cap_tempfile::cap_std;
16
17#[cfg(not(windows))]
18pub mod cmdext;
19pub mod dirext;
20
21#[cfg(any(target_os = "android", target_os = "linux"))]
22mod rootdir;
23#[cfg(any(target_os = "android", target_os = "linux"))]
24pub use rootdir::*;
25#[cfg(not(windows))]
26mod xattrs;
27#[cfg(not(windows))]
28pub use xattrs::XattrList;
29
30#[cold]
31pub(crate) fn escape_attempt() -> io::Error {
32    io::Error::new(
33        io::ErrorKind::PermissionDenied,
34        "a path led outside of the filesystem",
35    )
36}
37
38/// Prelude, intended for glob import.
39pub mod prelude {
40    #[cfg(not(windows))]
41    pub use super::cmdext::CapStdExtCommandExt;
42    pub use super::dirext::CapStdExtDirExt;
43    #[cfg(feature = "fs_utf8")]
44    pub use super::dirext::CapStdExtDirExtUtf8;
45}