File tree Expand file tree Collapse file tree 4 files changed +48
-17
lines changed Expand file tree Collapse file tree 4 files changed +48
-17
lines changed Original file line number Diff line number Diff line change @@ -379,15 +379,18 @@ mod persistence {
379379 }
380380 }
381381
382- let value = self
383- . value
384- . as_ref ( )
385- . expect ( "attempted to serialize empty memo" ) ;
382+ let Memo {
383+ value,
384+ verified_at,
385+ revisions,
386+ } = self ;
387+
388+ let value = value. as_ref ( ) . expect ( "attempted to serialize empty memo" ) ;
386389
387390 let mut s = serializer. serialize_struct ( "Memo" , 3 ) ?;
388391 s. serialize_field ( "value" , & SerializeValue :: < C > ( value) ) ?;
389- s. serialize_field ( "verified_at" , & self . verified_at ) ?;
390- s. serialize_field ( "revisions" , & self . revisions ) ?;
392+ s. serialize_field ( "verified_at" , & verified_at) ?;
393+ s. serialize_field ( "revisions" , & revisions) ?;
391394 s. end ( )
392395 }
393396 }
Original file line number Diff line number Diff line change @@ -494,9 +494,16 @@ mod persistence {
494494 }
495495 }
496496
497- map. serialize_entry ( & "durabilities" , & self . durabilities ) ?;
498- map. serialize_entry ( & "revisions" , & self . revisions ) ?;
499- map. serialize_entry ( & "fields" , & SerializeFields :: < C > ( & self . fields ) ) ?;
497+ let Value {
498+ fields,
499+ revisions,
500+ durabilities,
501+ memos : _,
502+ } = self ;
503+
504+ map. serialize_entry ( & "durabilities" , & durabilities) ?;
505+ map. serialize_entry ( & "revisions" , & revisions) ?;
506+ map. serialize_entry ( & "fields" , & SerializeFields :: < C > ( fields) ) ?;
500507
501508 map. end ( )
502509 }
Original file line number Diff line number Diff line change @@ -155,6 +155,7 @@ where
155155
156156/// Shared value data can only be read through the lock.
157157#[ repr( Rust , packed) ] // Allow `durability` to be stored in the padding of the outer `Value` struct.
158+ #[ derive( Clone , Copy ) ]
158159struct ValueShared {
159160 /// The interned ID for this value.
160161 ///
@@ -1346,16 +1347,28 @@ mod persistence {
13461347 }
13471348 }
13481349
1350+ let Value {
1351+ fields,
1352+ shared,
1353+ shard : _,
1354+ link : _,
1355+ memos : _,
1356+ } = self ;
1357+
13491358 // SAFETY: The safety invariant of `Ingredient::serialize` ensures we have exclusive access
13501359 // to the database.
1351- let fields = unsafe { & * self . fields . get ( ) } ;
1360+ let fields = unsafe { & * fields. get ( ) } ;
13521361
13531362 // SAFETY: The safety invariant of `Ingredient::serialize` ensures we have exclusive access
13541363 // to the database.
1355- let value_shared = unsafe { & * self . shared . get ( ) } ;
1364+ let ValueShared {
1365+ durability,
1366+ last_interned_at,
1367+ id : _,
1368+ } = unsafe { * shared. get ( ) } ;
13561369
1357- map. serialize_entry ( & "durability" , & { value_shared . durability } ) ?;
1358- map. serialize_entry ( & "last_interned_at" , & { value_shared . last_interned_at } ) ?;
1370+ map. serialize_entry ( & "durability" , & durability) ?;
1371+ map. serialize_entry ( & "last_interned_at" , & last_interned_at) ?;
13591372 map. serialize_entry ( & "fields" , & SerializeFields :: < C > ( fields) ) ?;
13601373
13611374 map. end ( )
Original file line number Diff line number Diff line change @@ -1215,10 +1215,18 @@ mod persistence {
12151215 }
12161216 }
12171217
1218- map. serialize_entry ( & "durability" , & self . durability ) ?;
1219- map. serialize_entry ( & "updated_at" , & self . updated_at ) ?;
1220- map. serialize_entry ( & "revisions" , & self . revisions ) ?;
1221- map. serialize_entry ( & "fields" , & SerializeFields :: < C > ( & self . fields ) ) ?;
1218+ let Value {
1219+ durability,
1220+ updated_at,
1221+ fields,
1222+ revisions,
1223+ memos : _,
1224+ } = self ;
1225+
1226+ map. serialize_entry ( & "durability" , & durability) ?;
1227+ map. serialize_entry ( & "updated_at" , & updated_at) ?;
1228+ map. serialize_entry ( & "revisions" , & revisions) ?;
1229+ map. serialize_entry ( & "fields" , & SerializeFields :: < C > ( fields) ) ?;
12221230
12231231 map. end ( )
12241232 }
You can’t perform that action at this time.
0 commit comments