File tree Expand file tree Collapse file tree 2 files changed +14
-9
lines changed Expand file tree Collapse file tree 2 files changed +14
-9
lines changed Original file line number Diff line number Diff line change @@ -189,19 +189,19 @@ impl TryFrom<&crate::Array> for RawArrayBuf {
189
189
type Error = crate :: error:: Error ;
190
190
191
191
fn try_from ( value : & crate :: Array ) -> Result < Self , Self :: Error > {
192
- let mut tmp = RawArrayBuf :: new ( ) ;
193
- for val in value {
194
- let raw: super :: RawBson = val. clone ( ) . try_into ( ) ?;
195
- tmp. push ( raw) ?;
196
- }
197
- Ok ( tmp)
192
+ Self :: try_from ( value. clone ( ) )
198
193
}
199
194
}
200
195
201
196
impl TryFrom < crate :: Array > for RawArrayBuf {
202
197
type Error = crate :: error:: Error ;
203
198
204
199
fn try_from ( value : crate :: Array ) -> Result < Self , Self :: Error > {
205
- Self :: try_from ( & value)
200
+ let mut tmp = RawArrayBuf :: new ( ) ;
201
+ for val in value {
202
+ let raw: super :: RawBson = val. try_into ( ) ?;
203
+ tmp. push ( raw) ?;
204
+ }
205
+ Ok ( tmp)
206
206
}
207
207
}
Original file line number Diff line number Diff line change @@ -116,7 +116,7 @@ impl RawDocumentBuf {
116
116
/// ```
117
117
pub fn from_document ( doc : impl Borrow < Document > ) -> Result < Self > {
118
118
let mut out = RawDocumentBuf :: new ( ) ;
119
- for ( k, v) in doc {
119
+ for ( k, v) in doc. borrow ( ) {
120
120
let val: RawBson = v. clone ( ) . try_into ( ) ?;
121
121
out. append ( k, val) ?;
122
122
}
@@ -285,7 +285,12 @@ impl TryFrom<Document> for RawDocumentBuf {
285
285
type Error = crate :: error:: Error ;
286
286
287
287
fn try_from ( doc : Document ) -> std:: result:: Result < Self , Self :: Error > {
288
- Self :: try_from ( & doc)
288
+ let mut out = RawDocumentBuf :: new ( ) ;
289
+ for ( k, v) in doc {
290
+ let val: RawBson = v. try_into ( ) ?;
291
+ out. append ( k, val) ?;
292
+ }
293
+ Ok ( out)
289
294
}
290
295
}
291
296
You can’t perform that action at this time.
0 commit comments