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#[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;