Skip to content

Commit 7d1dcca

Browse files
committed
Remove unnecessary float deserialize specializations
1 parent 1432818 commit 7d1dcca

File tree

1 file changed

+4
-48
lines changed

1 file changed

+4
-48
lines changed

rmp-serde/src/decode.rs

Lines changed: 4 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -679,55 +679,11 @@ impl<'de, 'a, R: ReadSlice<'de>, C: SerializerConfig> serde::Deserializer<'de> f
679679
visitor.visit_u128(u128::from_be_bytes(buf))
680680
}
681681

682-
fn deserialize_f32<V>(self, visitor: V) -> Result<V::Value, Self::Error>
683-
where V: Visitor<'de>
684-
{
685-
// This special case allows us to decode some integer types as floats when safe, and
686-
// asked for.
687-
//
688-
// This allows interoperability with msgpack-lite, which performs an optimization of
689-
// storing rounded floats as integers.
690-
let f = match self.take_or_read_marker()? {
691-
Marker::U8 => self.rd.read_data_u8().map(f32::from),
692-
Marker::U16 => self.rd.read_data_u16().map(f32::from),
693-
Marker::I8 => self.rd.read_data_i8().map(f32::from),
694-
Marker::I16 => self.rd.read_data_i16().map(f32::from),
695-
Marker::F32 => self.rd.read_data_f32(),
696-
marker => {
697-
self.marker = Some(marker);
698-
return self.deserialize_any(visitor);
699-
}
700-
}?;
701-
visitor.visit_f32(f)
702-
}
703-
704-
fn deserialize_f64<V>(self, visitor: V) -> Result<V::Value, Self::Error>
705-
where V: Visitor<'de>
706-
{
707-
// This special case allows us to decode some integer types as floats when safe, and
708-
// asked for. This is here to be consistent with 'f32'.
709-
let f = match self.take_or_read_marker()? {
710-
Marker::U8 => self.rd.read_data_u8().map(f64::from),
711-
Marker::U16 => self.rd.read_data_u16().map(f64::from),
712-
Marker::U32 => self.rd.read_data_u32().map(f64::from),
713-
Marker::I8 => self.rd.read_data_i8().map(f64::from),
714-
Marker::I16 => self.rd.read_data_i16().map(f64::from),
715-
Marker::I32 => self.rd.read_data_i32().map(f64::from),
716-
Marker::F32 => self.rd.read_data_f32().map(f64::from),
717-
Marker::F64 => self.rd.read_data_f64(),
718-
marker => {
719-
self.marker = Some(marker);
720-
return self.deserialize_any(visitor);
721-
}
722-
}?;
723-
visitor.visit_f64(f)
724-
}
725-
726682
forward_to_deserialize_any! {
727-
bool u8 u16 u32 u64 i8 i16 i32 i64 char
728-
str string bytes byte_buf unit seq map
729-
struct identifier tuple tuple_struct
730-
ignored_any
683+
bool u8 u16 u32 u64 i8 i16 i32 i64 f32
684+
f64 char str string bytes byte_buf unit
685+
seq map struct identifier tuple
686+
tuple_struct ignored_any
731687
}
732688
}
733689

0 commit comments

Comments
 (0)