X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=src%2Flib.rs;h=91a315678f18f107a1a1e955e5c636121f9bc1db;hb=78af60e0fbddbf73c44a7a46952c42b0a57be2cb;hp=0cabe0177671153f0cc8ce4b9ca03c8e912ba46f;hpb=dc8996dd008fbf0ec3123c58c1a7024f5003dfc6;p=dnssec-prover diff --git a/src/lib.rs b/src/lib.rs index 0cabe01..91a3156 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -24,17 +24,45 @@ //! * Finally, the crate can be built as a binary using the `build_server` feature, responding to //! queries over HTTP GET calls to `/dnssecproof?d=domain.name.&t=RecordType` with DNSSEC //! proofs. +//! +//! Note that this library's MSRV is 1.64 for normal building, however builds fine on 1.63 (and +//! possibly earlier) when `RUSTC_BOOTSTRAP=1` is set, as it relies on the +//! `const_slice_from_raw_parts` feature. #![deny(missing_docs)] +#![deny(rustdoc::broken_intra_doc_links)] +#![deny(rustdoc::private_intra_doc_links)] + +// const_slice_from_raw_parts was stabilized in 1.64, however we support building on 1.63 as well. +// Luckily, it seems to work fine in 1.63 with the feature flag (and RUSTC_BOOTSTRAP=1) enabled. +#![cfg_attr(rust_1_63, feature(const_slice_from_raw_parts))] + +#![allow(clippy::new_without_default)] // why is this even a lint +#![allow(clippy::result_unit_err)] // Why in the hell is this a lint? +#![allow(clippy::get_first)] // Sometimes this improves readability +#![allow(clippy::needless_lifetimes)] // lifetimes improve readability +#![allow(clippy::needless_borrow)] // borrows indicate read-only/non-move +#![allow(clippy::too_many_arguments)] // sometimes we don't have an option +#![allow(clippy::identity_op)] // sometimes identities improve readability for repeated actions +#![allow(clippy::erasing_op)] // sometimes identities improve readability for repeated actions #![cfg_attr(not(feature = "std"), no_std)] extern crate alloc; +#[cfg(feature = "validation")] +mod base32; + +#[cfg(all(feature = "validation", any(fuzzing, dnssec_validate_bench)))] +pub mod crypto; +#[cfg(all(feature = "validation", not(any(fuzzing, dnssec_validate_bench))))] +mod crypto; + pub mod rr; pub mod ser; +pub mod query; #[cfg(feature = "validation")] pub mod validation; -#[cfg(feature = "std")] -pub mod query; +#[cfg(all(feature = "std", feature = "validation", test))] +mod test;