@@ -22,6 +22,11 @@ use std::sync::Arc;
2222/// be processed or ignored, whichever is appropriate. Then they should provide
2323/// a `finish` method that finishes up encoding. If the encoder is fallible,
2424/// `finish` should return a `Result` that indicates success or failure.
25+ ///
26+ /// This current does not support `f32` nor `f64`, as they're not needed in any
27+ /// serialized data structures. That could be changed, but consider whether it
28+ /// really makes sense to store floating-point values at all.
29+ /// (If you need it, revert <https://github.com/rust-lang/rust/pull/109984>.)
2530pub trait Encoder {
2631 // Primitive types:
2732 fn emit_usize ( & mut self , v : usize ) ;
@@ -37,8 +42,6 @@ pub trait Encoder {
3742 fn emit_i16 ( & mut self , v : i16 ) ;
3843 fn emit_i8 ( & mut self , v : i8 ) ;
3944 fn emit_bool ( & mut self , v : bool ) ;
40- fn emit_f64 ( & mut self , v : f64 ) ;
41- fn emit_f32 ( & mut self , v : f32 ) ;
4245 fn emit_char ( & mut self , v : char ) ;
4346 fn emit_str ( & mut self , v : & str ) ;
4447 fn emit_raw_bytes ( & mut self , s : & [ u8 ] ) ;
@@ -58,6 +61,11 @@ pub trait Encoder {
5861// top-level invocation would also just panic on failure. Switching to
5962// infallibility made things faster and lots of code a little simpler and more
6063// concise.
64+ ///
65+ /// This current does not support `f32` nor `f64`, as they're not needed in any
66+ /// serialized data structures. That could be changed, but consider whether it
67+ /// really makes sense to store floating-point values at all.
68+ /// (If you need it, revert <https://github.com/rust-lang/rust/pull/109984>.)
6169pub trait Decoder {
6270 // Primitive types:
6371 fn read_usize ( & mut self ) -> usize ;
@@ -73,8 +81,6 @@ pub trait Decoder {
7381 fn read_i16 ( & mut self ) -> i16 ;
7482 fn read_i8 ( & mut self ) -> i8 ;
7583 fn read_bool ( & mut self ) -> bool ;
76- fn read_f64 ( & mut self ) -> f64 ;
77- fn read_f32 ( & mut self ) -> f32 ;
7884 fn read_char ( & mut self ) -> char ;
7985 fn read_str ( & mut self ) -> & str ;
8086 fn read_raw_bytes ( & mut self , len : usize ) -> & [ u8 ] ;
@@ -143,8 +149,6 @@ direct_serialize_impls! {
143149 i64 emit_i64 read_i64,
144150 i128 emit_i128 read_i128,
145151
146- f32 emit_f32 read_f32,
147- f64 emit_f64 read_f64,
148152 bool emit_bool read_bool,
149153 char emit_char read_char
150154}
0 commit comments