From e93c8c46e65056381c1862d1be67a5e0dad57948 Mon Sep 17 00:00:00 2001 From: StackDoubleFlow Date: Sat, 19 Oct 2019 22:24:13 -0500 Subject: [PATCH] Fix Follow implementation for bool (#5554) --- rust/flatbuffers/src/primitives.rs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/rust/flatbuffers/src/primitives.rs b/rust/flatbuffers/src/primitives.rs index 2f3b7421e..ccab93866 100644 --- a/rust/flatbuffers/src/primitives.rs +++ b/rust/flatbuffers/src/primitives.rs @@ -263,6 +263,14 @@ impl<'a, T: Follow<'a> + 'a> Follow<'a> for SkipFileIdentifier { } } +impl<'a> Follow<'a> for bool { + type Inner = bool; + #[inline(always)] + fn follow(buf: &'a [u8], loc: usize) -> Self::Inner { + read_scalar_at::(buf, loc) != 0 + } +} + /// Follow trait impls for primitive types. /// /// 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!(u16); impl_follow_for_endian_scalar!(u32);