pub use musli_macros::Decode;
mod as_decoder;
pub use self::as_decoder::AsDecoder;
mod decode;
pub use self::decode::Decode;
mod decode_bytes;
pub use self::decode_bytes::DecodeBytes;
mod decode_packed;
pub use self::decode_packed::DecodePacked;
mod decode_trace;
pub use self::decode_trace::DecodeTrace;
mod decode_unsized;
pub use self::decode_unsized::DecodeUnsized;
mod decode_unsized_bytes;
pub use self::decode_unsized_bytes::DecodeUnsizedBytes;
mod decoder;
pub use self::decoder::Decoder;
mod entries_decoder;
pub use self::entries_decoder::EntriesDecoder;
mod entry_decoder;
pub use self::entry_decoder::EntryDecoder;
mod map_decoder;
pub use self::map_decoder::MapDecoder;
mod sequence_decoder;
pub use self::sequence_decoder::SequenceDecoder;
mod size_hint;
pub use self::size_hint::SizeHint;
mod skip;
pub use self::skip::Skip;
mod unsized_visitor;
pub use self::unsized_visitor::UnsizedVisitor;
mod variant_decoder;
pub use self::variant_decoder::VariantDecoder;
mod visitor;
pub use self::visitor::Visitor;
pub trait DecodeOwned<M>: for<'de> Decode<'de, M> {}
impl<M, D> DecodeOwned<M> for D where D: for<'de> Decode<'de, M> {}