pathlib/
lib.rs

1#![forbid(rust_2021_compatibility, rust_2018_idioms, future_incompatible)]
2#![deny(
3    unused_imports,
4    unused_qualifications,
5    unused_results,
6    unused_comparisons,
7    unconditional_panic,
8    unconditional_recursion,
9    unreachable_pub
10)]
11#![forbid(missing_docs, rustdoc::all)]
12#![forbid(
13    clippy::correctness,
14    clippy::complexity,
15    clippy::suspicious,
16    clippy::perf,
17    clippy::style,
18    clippy::cargo,
19    clippy::should_panic_without_expect,
20    clippy::incompatible_msrv,
21    clippy::expect_used,
22    clippy::missing_safety_doc,
23    clippy::missing_panics_doc,
24    clippy::allow_attributes,
25    clippy::allow_attributes_without_reason
26)]
27#![cfg_attr(not(feature = "std"), no_std)]
28//! A simple path manipulation library.
29
30#[cfg(not(feature = "std"))]
31extern crate alloc;
32
33mod comp;
34mod nt;
35#[cfg(feature = "std")]
36mod path;
37mod posix;
38mod pure;
39mod unified;
40
41#[cfg(not(feature = "std"))]
42use alloc::{borrow::ToOwned, string::String, vec, vec::Vec};
43#[cfg(feature = "std")]
44use std::{borrow::ToOwned, string::String, vec, vec::Vec};
45
46pub use comp::{Component, Components};
47pub use nt::WindowsPath;
48#[cfg(feature = "std")]
49pub use path::Path;
50pub use posix::PosixPath;
51pub use pure::{ParsablePath, PurePath};
52pub use unified::UnifiedPath;