lib.rs (1726B)
1 //! # `rpz` 2 //! 3 //! The primary module is [`mod@dom`] which contains types which can parse 4 //! [`str`]s into different kinds of domains. 5 //! 6 //! [`mod@file`] contains types that can read UTF-8 files on the local file system 7 //! or hosted on HTTP(S) servers. 8 //! 9 //! The purpose of these types is to make fetching, parsing, and transforming 10 //! ad-blocking files into a [response policy zone (RPZ)](https://en.wikipedia.org/wiki/Response_policy_zone) 11 //! file easier. 12 #![feature(btree_cursors)] 13 #![feature(io_error_more)] 14 #![deny( 15 future_incompatible, 16 let_underscore, 17 missing_docs, 18 nonstandard_style, 19 rust_2018_compatibility, 20 rust_2018_idioms, 21 rust_2021_compatibility, 22 rust_2024_compatibility, 23 unsafe_code, 24 unused, 25 warnings, 26 clippy::all, 27 clippy::cargo, 28 clippy::complexity, 29 clippy::correctness, 30 clippy::nursery, 31 clippy::pedantic, 32 clippy::perf, 33 clippy::restriction, 34 clippy::style, 35 clippy::suspicious 36 )] 37 #![expect( 38 clippy::blanket_clippy_restriction_lints, 39 clippy::exhaustive_enums, 40 clippy::exhaustive_structs, 41 clippy::implicit_return, 42 clippy::min_ident_chars, 43 clippy::missing_trait_methods, 44 clippy::multiple_crate_versions, 45 clippy::question_mark_used, 46 clippy::ref_patterns, 47 clippy::single_char_lifetime_names, 48 reason = "never want to use these lints" 49 )] 50 /// Module for hostname-like domains including parsing [`str`]s 51 /// from a variety of formats. 52 pub mod dom; 53 /// Contains a single function, `proper_subdomain_count`, that has a lot of lines 54 /// that were pre-generated. 55 mod dom_count_auto_gen; 56 /// Module for fetching and parsing local and HTTP(S) files into 57 /// [`dom::RpzDomain`]s. 58 pub mod file;