mirror of https://git.sr.ht/~stygianentity/bincode
Allow generics in impl_borrow_decode (#635)
* Allow generics in impl_borrow_decode * Use impl_borrow_decode for PhantomData * Update impls.rs * Update mod.rs
This commit is contained in:
parent
b7f944816b
commit
70b22d4dc0
|
|
@ -514,11 +514,7 @@ impl<T> Decode for core::marker::PhantomData<T> {
|
|||
Ok(core::marker::PhantomData)
|
||||
}
|
||||
}
|
||||
impl<'de, T> BorrowDecode<'de> for core::marker::PhantomData<T> {
|
||||
fn borrow_decode<D: BorrowDecoder<'de>>(_: &mut D) -> Result<Self, DecodeError> {
|
||||
Ok(core::marker::PhantomData)
|
||||
}
|
||||
}
|
||||
impl_borrow_decode!(core::marker::PhantomData<T>, T);
|
||||
|
||||
impl<T> Decode for Option<T>
|
||||
where
|
||||
|
|
|
|||
|
|
@ -100,8 +100,8 @@ pub trait BorrowDecode<'de>: Sized {
|
|||
/// Helper macro to implement `BorrowDecode` for any type that implements `Decode`.
|
||||
#[macro_export]
|
||||
macro_rules! impl_borrow_decode {
|
||||
($ty:ty) => {
|
||||
impl<'de> $crate::BorrowDecode<'de> for $ty {
|
||||
($ty:ty $(, $param:ident),*) => {
|
||||
impl<'de $(, $param)*> $crate::BorrowDecode<'de> for $ty {
|
||||
fn borrow_decode<D: $crate::de::BorrowDecoder<'de>>(
|
||||
decoder: &mut D,
|
||||
) -> core::result::Result<Self, $crate::error::DecodeError> {
|
||||
|
|
|
|||
Loading…
Reference in New Issue