@@ -40,18 +40,18 @@ use oid;
4040use serde:: de:: Deserialize ;
4141
4242fn read_string < R : Read + ?Sized > ( reader : & mut R , utf8_lossy : bool ) -> DecoderResult < String > {
43- let len = try! ( reader. read_i32 :: < LittleEndian > ( ) ) ;
43+ let len = reader. read_i32 :: < LittleEndian > ( ) ? ;
4444
4545 let s = if utf8_lossy {
4646 let mut buf = Vec :: with_capacity ( len as usize - 1 ) ;
47- try! ( reader. take ( len as u64 - 1 ) . read_to_end ( & mut buf) ) ;
47+ reader. take ( len as u64 - 1 ) . read_to_end ( & mut buf) ? ;
4848 String :: from_utf8_lossy ( & buf) . to_string ( )
4949 } else {
5050 let mut s = String :: with_capacity ( len as usize - 1 ) ;
51- try! ( reader. take ( len as u64 - 1 ) . read_to_string ( & mut s) ) ;
51+ reader. take ( len as u64 - 1 ) . read_to_string ( & mut s) ? ;
5252 s
5353 } ;
54- try! ( reader. read_u8 ( ) ) ; // The last 0x00
54+ reader. read_u8 ( ) ? ; // The last 0x00
5555
5656 Ok ( s)
5757}
@@ -60,14 +60,14 @@ fn read_cstring<R: Read + ?Sized>(reader: &mut R) -> DecoderResult<String> {
6060 let mut v = Vec :: new ( ) ;
6161
6262 loop {
63- let c = try! ( reader. read_u8 ( ) ) ;
63+ let c = reader. read_u8 ( ) ? ;
6464 if c == 0 {
6565 break ;
6666 }
6767 v. push ( c) ;
6868 }
6969
70- Ok ( try! ( String :: from_utf8 ( v) ) )
70+ Ok ( String :: from_utf8 ( v) ? )
7171}
7272
7373#[ inline]
@@ -85,17 +85,17 @@ pub fn decode_document<R: Read + ?Sized>(reader: &mut R) -> DecoderResult<Docume
8585 let mut doc = Document :: new ( ) ;
8686
8787 // disregard the length: using Read::take causes infinite type recursion
88- try! ( read_i32 ( reader) ) ;
88+ read_i32 ( reader) ? ;
8989
9090 loop {
91- let tag = try! ( reader. read_u8 ( ) ) ;
91+ let tag = reader. read_u8 ( ) ? ;
9292
9393 if tag == 0 {
9494 break ;
9595 }
9696
97- let key = try! ( read_cstring ( reader) ) ;
98- let val = try! ( decode_bson ( reader, tag, false ) ) ;
97+ let key = read_cstring ( reader) ? ;
98+ let val = decode_bson ( reader, tag, false ) ? ;
9999
100100 doc. insert ( key, val) ;
101101 }
@@ -108,17 +108,17 @@ pub fn decode_document_utf8_lossy<R: Read + ?Sized>(reader: &mut R) -> DecoderRe
108108 let mut doc = Document :: new ( ) ;
109109
110110 // disregard the length: using Read::take causes infinite type recursion
111- try! ( read_i32 ( reader) ) ;
111+ read_i32 ( reader) ? ;
112112
113113 loop {
114- let tag = try! ( reader. read_u8 ( ) ) ;
114+ let tag = reader. read_u8 ( ) ? ;
115115
116116 if tag == 0 {
117117 break ;
118118 }
119119
120- let key = try! ( read_cstring ( reader) ) ;
121- let val = try! ( decode_bson ( reader, tag, true ) ) ;
120+ let key = read_cstring ( reader) ? ;
121+ let val = decode_bson ( reader, tag, true ) ? ;
122122
123123 doc. insert ( key, val) ;
124124 }
@@ -130,16 +130,16 @@ fn decode_array<R: Read + ?Sized>(reader: &mut R, utf8_lossy: bool) -> DecoderRe
130130 let mut arr = Array :: new ( ) ;
131131
132132 // disregard the length: using Read::take causes infinite type recursion
133- try! ( read_i32 ( reader) ) ;
133+ read_i32 ( reader) ? ;
134134
135135 loop {
136- let tag = try! ( reader. read_u8 ( ) ) ;
136+ let tag = reader. read_u8 ( ) ? ;
137137 if tag == 0 {
138138 break ;
139139 }
140140
141141 // check that the key is as expected
142- let key = try! ( read_cstring ( reader) ) ;
142+ let key = read_cstring ( reader) ? ;
143143 match key. parse :: < usize > ( ) {
144144 Err ( ..) => return Err ( DecoderError :: InvalidArrayKey ( arr. len ( ) , key) ) ,
145145 Ok ( idx) => {
@@ -149,7 +149,7 @@ fn decode_array<R: Read + ?Sized>(reader: &mut R, utf8_lossy: bool) -> DecoderRe
149149 }
150150 }
151151
152- let val = try! ( decode_bson ( reader, tag, utf8_lossy) ) ;
152+ let val = decode_bson ( reader, tag, utf8_lossy) ? ;
153153 arr. push ( val)
154154 }
155155
@@ -159,46 +159,46 @@ fn decode_array<R: Read + ?Sized>(reader: &mut R, utf8_lossy: bool) -> DecoderRe
159159fn decode_bson < R : Read + ?Sized > ( reader : & mut R , tag : u8 , utf8_lossy : bool ) -> DecoderResult < Bson > {
160160 use spec:: ElementType :: * ;
161161 match spec:: ElementType :: from ( tag) {
162- Some ( FloatingPoint ) => Ok ( Bson :: FloatingPoint ( try! ( reader. read_f64 :: < LittleEndian > ( ) ) ) ) ,
162+ Some ( FloatingPoint ) => Ok ( Bson :: FloatingPoint ( reader. read_f64 :: < LittleEndian > ( ) ? ) ) ,
163163 Some ( Utf8String ) => read_string ( reader, utf8_lossy) . map ( Bson :: String ) ,
164164 Some ( EmbeddedDocument ) => decode_document ( reader) . map ( Bson :: Document ) ,
165165 Some ( Array ) => decode_array ( reader, utf8_lossy) . map ( Bson :: Array ) ,
166166 Some ( Binary ) => {
167- let len = try! ( read_i32 ( reader) ) ;
168- let subtype = BinarySubtype :: from ( try! ( reader. read_u8 ( ) ) ) ;
167+ let len = read_i32 ( reader) ? ;
168+ let subtype = BinarySubtype :: from ( reader. read_u8 ( ) ? ) ;
169169 let mut data = Vec :: with_capacity ( len as usize ) ;
170- try! ( reader. take ( len as u64 ) . read_to_end ( & mut data) ) ;
170+ reader. take ( len as u64 ) . read_to_end ( & mut data) ? ;
171171 Ok ( Bson :: Binary ( subtype, data) )
172172 }
173173 Some ( ObjectId ) => {
174174 let mut objid = [ 0 ; 12 ] ;
175175 for x in & mut objid {
176- * x = try! ( reader. read_u8 ( ) ) ;
176+ * x = reader. read_u8 ( ) ? ;
177177 }
178178 Ok ( Bson :: ObjectId ( oid:: ObjectId :: with_bytes ( objid) ) )
179179 }
180- Some ( Boolean ) => Ok ( Bson :: Boolean ( try! ( reader. read_u8 ( ) ) != 0 ) ) ,
180+ Some ( Boolean ) => Ok ( Bson :: Boolean ( reader. read_u8 ( ) ? != 0 ) ) ,
181181 Some ( NullValue ) => Ok ( Bson :: Null ) ,
182182 Some ( RegularExpression ) => {
183- let pat = try! ( read_cstring ( reader) ) ;
184- let opt = try! ( read_cstring ( reader) ) ;
183+ let pat = read_cstring ( reader) ? ;
184+ let opt = read_cstring ( reader) ? ;
185185 Ok ( Bson :: RegExp ( pat, opt) )
186186 }
187187 Some ( JavaScriptCode ) => read_string ( reader, utf8_lossy) . map ( Bson :: JavaScriptCode ) ,
188188 Some ( JavaScriptCodeWithScope ) => {
189189 // disregard the length:
190190 // using Read::take causes infinite type recursion
191- try! ( read_i32 ( reader) ) ;
191+ read_i32 ( reader) ? ;
192192
193- let code = try! ( read_string ( reader, utf8_lossy) ) ;
194- let scope = try! ( decode_document ( reader) ) ;
193+ let code = read_string ( reader, utf8_lossy) ? ;
194+ let scope = decode_document ( reader) ? ;
195195 Ok ( Bson :: JavaScriptCodeWithScope ( code, scope) )
196196 }
197197 Some ( Integer32Bit ) => read_i32 ( reader) . map ( Bson :: I32 ) ,
198198 Some ( Integer64Bit ) => read_i64 ( reader) . map ( Bson :: I64 ) ,
199199 Some ( TimeStamp ) => read_i64 ( reader) . map ( Bson :: TimeStamp ) ,
200200 Some ( UtcDatetime ) => {
201- let time = try! ( read_i64 ( reader) ) ;
201+ let time = read_i64 ( reader) ? ;
202202 Ok ( Bson :: UtcDatetime ( Utc . timestamp ( time / 1000 , ( time % 1000 ) as u32 * 1000000 ) ) )
203203 }
204204 Some ( Symbol ) => read_string ( reader, utf8_lossy) . map ( Bson :: Symbol ) ,
0 commit comments