DeserializerExt default impl
All checks were successful
buildbot/cargo fmt (1.72) Build done.
buildbot/cargo clippy (1.65) Build done.
buildbot/cargo doc (1.72) Build done.
buildbot/cargo clippy (1.72) Build done.
buildbot/cargo test (1.65) Build done.

This commit is contained in:
AF 2024-08-30 21:32:21 +00:00
parent 16051e15f2
commit 3cd20e9a90
Signed by: alisa
SSH Key Fingerprint: SHA256:vNY4pdIZvO1FYJKHROkdHLtvyopizvZVAEwg9AF6h04

View File

@ -44,12 +44,8 @@ pub trait Deserializer {
} }
/// Extension trait for [Deserializer]s. /// Extension trait for [Deserializer]s.
pub trait DeserializerExt { pub trait DeserializerExt: Deserializer {
/// Try to read exactly `N` bytes. /// Try to read exactly `N` bytes.
fn read_n_const<const N: usize>(&mut self) -> Result<[u8; N], &[u8]>;
}
impl<D: ?Sized + Deserializer> DeserializerExt for D {
fn read_n_const<const N: usize>(&mut self) -> Result<[u8; N], &[u8]> { fn read_n_const<const N: usize>(&mut self) -> Result<[u8; N], &[u8]> {
let slice = self.read_n(N); let slice = self.read_n(N);
match slice.try_into() { match slice.try_into() {
@ -58,3 +54,5 @@ impl<D: ?Sized + Deserializer> DeserializerExt for D {
} }
} }
} }
impl<D: ?Sized + Deserializer> DeserializerExt for D {}