#![doc(html_root_url="https://briansmith.org/rustdoc/")]
#![allow(
missing_copy_implementations,
missing_debug_implementations,
non_camel_case_types,
non_snake_case,
unsafe_code,
)]
#![deny(
missing_docs,
trivial_numeric_casts,
unstable_features, // Used by `internal_benches`
unused_qualifications,
)]
#![forbid(
anonymous_parameters,
trivial_casts,
unused_extern_crates,
unused_import_braces,
unused_results,
variant_size_differences,
warnings,
)]
#![no_std]
#![cfg_attr(feature = "internal_benches", allow(unstable_features))]
#![cfg_attr(feature = "internal_benches", feature(test))]
#[cfg(target_os = "linux")]
extern crate libc;
#[cfg(feature = "internal_benches")]
extern crate test as bench;
#[cfg(any(target_os = "redox",
all(unix,
not(any(target_os = "macos", target_os = "ios")),
any(not(target_os = "linux"),
feature = "dev_urandom_fallback"))))]
#[macro_use]
extern crate lazy_static;
#[macro_use]
mod debug;
#[macro_use]
extern crate std;
extern crate untrusted;
mod arithmetic;
#[macro_use]
mod bssl;
#[macro_use]
mod polyfill;
pub mod aead;
pub mod agreement;
#[cfg(feature = "use_heap")]
mod bits;
mod c;
mod chacha;
pub mod constant_time;
#[doc(hidden)]
pub mod der;
pub mod digest;
mod ec;
pub mod error;
pub mod hkdf;
pub mod hmac;
mod init;
mod limb;
pub mod pbkdf2;
mod pkcs8;
mod poly1305;
pub mod rand;
#[cfg(feature = "use_heap")]
mod rsa;
pub mod signature;
mod signature_impl;
#[cfg(any(feature = "use_heap", test))]
pub mod test;
mod private {
pub trait Sealed {}
}
#[cfg(test)]
mod tests {
bssl_test!(test_constant_time, bssl_constant_time_test_main);
}