Skip to main content

iri_rfc3987/
lib.rs

1#![doc = include_str!("../README.md")]
2#![forbid(unsafe_code)]
3// Vendored IRI parser code uses `i` as idiomatic index variables.
4#![allow(clippy::disallowed_names)]
5// Vendored IRI parser/normalizer has deeply nested parsing logic.
6#![allow(clippy::excessive_nesting)]
7// The implementation retains performance-oriented and compact parser idioms
8// from fluent-uri where changing them would obscure the RFC algorithm.
9#![allow(clippy::inline_always)]
10#![allow(clippy::many_single_char_names)]
11#![allow(clippy::wildcard_imports)]
12#![allow(clippy::cast_possible_truncation)]
13#![allow(clippy::cast_possible_wrap)]
14#![allow(clippy::struct_field_names)]
15#![allow(clippy::too_many_lines)]
16#![allow(clippy::items_after_statements)]
17
18extern crate alloc;
19
20mod component;
21mod convert;
22mod error;
23mod imp;
24#[cfg(test)]
25mod normalize;
26mod parse;
27mod pct_enc;
28mod resolve;
29mod utf8;
30
31pub use convert::TryIntoIri;
32pub use error::IriParseError;
33pub use imp::{Iri, IriRef};
34pub use resolve::ResolveError;
35
36#[cfg(test)]
37mod tests;