@@ -46,20 +46,20 @@ impl PuffinReader {
4646    } 
4747
4848    /// Returns blob 
49- pub ( crate )  async  fn  blob ( & self ,  blob_metadata :  BlobMetadata )  -> Result < Blob >  { 
49+ pub ( crate )  async  fn  blob ( & self ,  blob_metadata :  & BlobMetadata )  -> Result < Blob >  { 
5050        let  file_read = self . input_file . reader ( ) . await ?; 
5151        let  start = blob_metadata. offset ; 
5252        let  end = start + blob_metadata. length ; 
5353        let  bytes = file_read. read ( start..end) . await ?. to_vec ( ) ; 
5454        let  data = blob_metadata. compression_codec . decompress ( bytes) ?; 
5555
5656        Ok ( Blob  { 
57-             r#type :  blob_metadata. r#type , 
58-             fields :  blob_metadata. fields , 
57+             r#type :  blob_metadata. r#type . clone ( ) , 
58+             fields :  blob_metadata. fields . clone ( ) , 
5959            snapshot_id :  blob_metadata. snapshot_id , 
6060            sequence_number :  blob_metadata. sequence_number , 
6161            data, 
62-             properties :  blob_metadata. properties , 
62+             properties :  blob_metadata. properties . clone ( ) , 
6363        } ) 
6464    } 
6565} 
@@ -84,15 +84,15 @@ mod tests {
8484
8585        assert_eq ! ( 
8686            puffin_reader
87-                 . blob( file_metadata. blobs. first( ) . unwrap( ) . clone ( ) ) 
87+                 . blob( file_metadata. blobs. first( ) . unwrap( ) ) 
8888                . await 
8989                . unwrap( ) , 
9090            blob_0( ) 
9191        ) ; 
9292
9393        assert_eq ! ( 
9494            puffin_reader
95-                 . blob( file_metadata. blobs. get( 1 ) . unwrap( ) . clone ( ) ) 
95+                 . blob( file_metadata. blobs. get( 1 ) . unwrap( ) ) 
9696                . await 
9797                . unwrap( ) , 
9898            blob_1( ) , 
@@ -109,15 +109,15 @@ mod tests {
109109
110110        assert_eq ! ( 
111111            puffin_reader
112-                 . blob( file_metadata. blobs. first( ) . unwrap( ) . clone ( ) ) 
112+                 . blob( file_metadata. blobs. first( ) . unwrap( ) ) 
113113                . await 
114114                . unwrap( ) , 
115115            blob_0( ) 
116116        ) ; 
117117
118118        assert_eq ! ( 
119119            puffin_reader
120-                 . blob( file_metadata. blobs. get( 1 ) . unwrap( ) . clone ( ) ) 
120+                 . blob( file_metadata. blobs. get( 1 ) . unwrap( ) ) 
121121                . await 
122122                . unwrap( ) , 
123123            blob_1( ) , 
0 commit comments