22
33use std:: error;
44use std:: fmt:: { self , Debug , Display , Formatter } ;
5- use std:: iter:: { FromIterator , Map } ;
5+ use std:: iter:: { Extend , FromIterator , Map } ;
66use std:: marker:: PhantomData ;
77
88use chrono:: { DateTime , Utc } ;
@@ -141,7 +141,7 @@ impl<'a> IntoIterator for &'a OrderedDocument {
141141 type IntoIter = OrderedDocumentIterator < ' a > ;
142142
143143 fn into_iter ( self ) -> Self :: IntoIter {
144- OrderedDocumentIterator { inner : self . inner . iter ( ) , }
144+ OrderedDocumentIterator { inner : self . inner . iter ( ) }
145145 }
146146}
147147
@@ -174,7 +174,7 @@ impl<'a> Iterator for OrderedDocumentIterator<'a> {
174174impl OrderedDocument {
175175 /// Creates a new empty OrderedDocument.
176176 pub fn new ( ) -> OrderedDocument {
177- OrderedDocument { inner : LinkedHashMap :: new ( ) , }
177+ OrderedDocument { inner : LinkedHashMap :: new ( ) }
178178 }
179179
180180 /// Gets an iterator over the entries of the map.
@@ -325,7 +325,7 @@ impl OrderedDocument {
325325 }
326326 let first: fn ( ( & ' a String , & ' a Bson ) ) -> & ' a String = first;
327327
328- Keys { inner : self . iter ( ) . map ( first) , }
328+ Keys { inner : self . iter ( ) . map ( first) }
329329 }
330330
331331 /// Gets a collection of all values in the document.
@@ -335,7 +335,7 @@ impl OrderedDocument {
335335 }
336336 let second: fn ( ( & ' a String , & ' a Bson ) ) -> & ' a Bson = second;
337337
338- Values { inner : self . iter ( ) . map ( second) , }
338+ Values { inner : self . iter ( ) . map ( second) }
339339 }
340340
341341 /// Returns the number of elements in the document.
@@ -367,7 +367,7 @@ impl OrderedDocument {
367367 }
368368
369369 pub fn entry ( & mut self , k : String ) -> Entry {
370- Entry { inner : self . inner . entry ( k) , }
370+ Entry { inner : self . inner . entry ( k) }
371371 }
372372}
373373
@@ -435,3 +435,11 @@ impl<'de> Visitor<'de> for OrderedDocumentVisitor {
435435 Ok ( inner. into ( ) )
436436 }
437437}
438+
439+ impl Extend < ( String , Bson ) > for OrderedDocument {
440+ fn extend < T : IntoIterator < Item = ( String , Bson ) > > ( & mut self , iter : T ) {
441+ for ( k, v) in iter {
442+ self . insert ( k, v) ;
443+ }
444+ }
445+ }
0 commit comments