|
@@ -0,0 +1,26 @@
|
|
|
|
+use std::io::Read;
|
|
|
|
+use super::error::{Error, Result, MapError};
|
|
|
|
+
|
|
|
|
+pub struct Deserializer<'de, T: Read> {
|
|
|
|
+ input: &'de T,
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+impl<'de, T: Read> Deserializer<'de, T> {
|
|
|
|
+ pub fn new(input: &'de T) -> Self {
|
|
|
|
+ Deserializer { input: input }
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+mod test {
|
|
|
|
+ #[allow(unused_imports)]
|
|
|
|
+ use super::{Result, Deserializer};
|
|
|
|
+
|
|
|
|
+ #[test]
|
|
|
|
+ fn new() -> Result<()> {
|
|
|
|
+ let vec = vec![0xA1];
|
|
|
|
+ let slice = &vec.as_slice();
|
|
|
|
+ let de = Deserializer::new(slice);
|
|
|
|
+ assert_eq!(slice, de.input);
|
|
|
|
+ Ok(())
|
|
|
|
+ }
|
|
|
|
+}
|