Sha256: dec18dbbd847e87456bcaa93413c377d922efb4239f0600879c7440540a07a3e
Contents?: true
Size: 1.13 KB
Versions: 27
Compression:
Stored size: 1.13 KB
Contents
use de::read::SliceReader; use {ErrorKind, Result}; /// A trait for erroring deserialization if not all bytes were read. pub trait TrailingBytes { /// Checks a given slice reader to determine if deserialization used all bytes in the slice. fn check_end(reader: &SliceReader) -> Result<()>; } /// A TrailingBytes config that will allow trailing bytes in slices after deserialization. #[derive(Copy, Clone)] pub struct AllowTrailing; /// A TrailingBytes config that will cause bincode to produce an error if bytes are left over in the slice when deserialization is complete. #[derive(Copy, Clone)] pub struct RejectTrailing; impl TrailingBytes for AllowTrailing { #[inline(always)] fn check_end(_reader: &SliceReader) -> Result<()> { Ok(()) } } impl TrailingBytes for RejectTrailing { #[inline(always)] fn check_end(reader: &SliceReader) -> Result<()> { if reader.is_finished() { Ok(()) } else { Err(Box::new(ErrorKind::Custom( "Slice had bytes remaining after deserialization".to_string(), ))) } } }
Version data entries
27 entries across 27 versions & 1 rubygems