Fix Follow implementation for bool (#5554)

This commit is contained in:
StackDoubleFlow 2019-10-19 22:24:13 -05:00 committed by Robert Winslow
parent e21516b9d7
commit e93c8c46e6
1 changed files with 8 additions and 1 deletions

View File

@ -263,6 +263,14 @@ impl<'a, T: Follow<'a> + 'a> Follow<'a> for SkipFileIdentifier<T> {
} }
} }
impl<'a> Follow<'a> for bool {
type Inner = bool;
#[inline(always)]
fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
read_scalar_at::<u8>(buf, loc) != 0
}
}
/// Follow trait impls for primitive types. /// Follow trait impls for primitive types.
/// ///
/// Ideally, these would be implemented as a single impl using trait bounds on /// Ideally, these would be implemented as a single impl using trait bounds on
@ -280,7 +288,6 @@ macro_rules! impl_follow_for_endian_scalar {
}; };
} }
impl_follow_for_endian_scalar!(bool);
impl_follow_for_endian_scalar!(u8); impl_follow_for_endian_scalar!(u8);
impl_follow_for_endian_scalar!(u16); impl_follow_for_endian_scalar!(u16);
impl_follow_for_endian_scalar!(u32); impl_follow_for_endian_scalar!(u32);