#![feature(generic_associated_types)]
#![cfg_attr(not(feature = "std"), no_std)]
#![cfg_attr(not(feature = "unsafe_speed"), forbid(unsafe_code))]
#![cfg_attr(docsrs, feature(doc_cfg))]
#![deny(missing_docs)]
#[cfg(feature = "std")]
#[macro_use]
extern crate std;
#[cfg(all(not(feature = "std"), feature = "alloc"))]
extern crate alloc;
#[macro_use]
mod macros;
pub mod backend;
pub mod buffer;
pub mod deserializer;
pub mod io;
pub mod serializer;
pub mod util;
#[cfg_attr(docsrs, doc(cfg(feature = "derive")))]
#[cfg(feature = "diny_derive")]
pub use diny_derive::AsyncSerialization;
#[cfg_attr(docsrs, doc(cfg(feature = "derive")))]
#[cfg(feature = "diny_derive")]
pub use diny_derive::AsyncSerialize;
#[cfg_attr(docsrs, doc(cfg(feature = "derive")))]
#[cfg(feature = "diny_derive")]
pub use diny_derive::AsyncDeserialize;
#[doc(inline)]
pub use backend::{
AsyncDeserialize,
AsyncSerialize,
AsyncSerialization,
};
pub use deserializer::{deserializer, Deserialize, Deserializer};
pub use serializer::{serializer, Serialize, Serializer};