diff options
author | Lizzy Fleckenstein <eliasfleckenstein@web.de> | 2023-05-27 22:21:09 +0200 |
---|---|---|
committer | Lizzy Fleckenstein <eliasfleckenstein@web.de> | 2023-05-27 22:21:09 +0200 |
commit | 87dbe32644a66dc4be2c3cf82d47d62f2907405f (patch) | |
tree | d4671b649db85d2d981316e1017dbc8308a3489d /src/lib.rs | |
parent | 5baa62aea9af9ba7cc74823d07250fe772518abc (diff) | |
download | mt_ser-87dbe32644a66dc4be2c3cf82d47d62f2907405f.tar.xz |
Don't use associated_type_bounds feature
Diffstat (limited to 'src/lib.rs')
-rw-r--r-- | src/lib.rs | 24 |
1 files changed, 8 insertions, 16 deletions
@@ -1,5 +1,4 @@ #![feature(array_try_from_fn)] -#![feature(associated_type_bounds)] #![feature(iterator_try_collect)] pub use flate2; @@ -179,29 +178,22 @@ impl MtLen for usize { } } -trait MtCfgLen: - Sized - + MtSerialize - + MtDeserialize - + TryFrom<usize, Error: Into<SerializeError>> - + TryInto<usize, Error: Into<DeserializeError>> -{ -} +trait MtCfgLen: Sized + MtSerialize + MtDeserialize + TryFrom<usize> + TryInto<usize> {} -impl<T: MtCfgLen> MtCfg for T { +impl<T: MtCfgLen> MtCfg for T +where + SerializeError: From<<T as TryFrom<usize>>::Error>, + DeserializeError: From<<T as TryInto<usize>>::Error>, +{ type Len = usize; type Inner = DefCfg; fn write_len(len: usize, writer: &mut impl Write) -> Result<(), SerializeError> { - Self::try_from(len) - .map_err(Into::into)? - .mt_serialize::<DefCfg>(writer) + Self::try_from(len)?.mt_serialize::<DefCfg>(writer) } fn read_len(reader: &mut impl Read) -> Result<Self::Len, DeserializeError> { - Self::mt_deserialize::<DefCfg>(reader)? - .try_into() - .map_err(Into::into) + Ok(Self::mt_deserialize::<DefCfg>(reader)?.try_into()?) } } |