@@ -409,9 +409,11 @@ mod persistence {
409409pub ( super ) enum TryClaimHeadsResult < ' me > {
410410 /// Claiming the cycle head results in a cycle.
411411 Cycle {
412+ database_key_index : DatabaseKeyIndex ,
412413 head_iteration_count : IterationCount ,
413414 memo_iteration_count : IterationCount ,
414415 verified_at : Revision ,
416+ cycle_heads : & ' me CycleHeads ,
415417 } ,
416418
417419 /// The cycle head is not finalized, but it can be claimed.
@@ -458,23 +460,28 @@ impl<'me> Iterator for TryClaimCycleHeadsIter<'me> {
458460 let provisional_status = ingredient
459461 . provisional_status ( self . zalsa , head_key_index)
460462 . expect ( "cycle head memo to exist" ) ;
461- let ( current_iteration_count, verified_at) = match provisional_status {
463+ let ( current_iteration_count, verified_at, cycle_heads ) = match provisional_status {
462464 ProvisionalStatus :: Provisional {
463465 iteration,
464466 verified_at,
465- }
466- | ProvisionalStatus :: Final {
467+ cycle_heads,
468+ } => ( iteration, verified_at, cycle_heads) ,
469+ ProvisionalStatus :: Final {
467470 iteration,
468471 verified_at,
469- } => ( iteration, verified_at) ,
470- ProvisionalStatus :: FallbackImmediate => {
471- ( IterationCount :: initial ( ) , self . zalsa . current_revision ( ) )
472- }
472+ } => ( iteration, verified_at, empty_cycle_heads ( ) ) ,
473+ ProvisionalStatus :: FallbackImmediate => (
474+ IterationCount :: initial ( ) ,
475+ self . zalsa . current_revision ( ) ,
476+ empty_cycle_heads ( ) ,
477+ ) ,
473478 } ;
474479
475480 Some ( TryClaimHeadsResult :: Cycle {
481+ database_key_index : head_database_key,
476482 memo_iteration_count : current_iteration_count,
477483 head_iteration_count : head. iteration_count . load ( ) ,
484+ cycle_heads,
478485 verified_at,
479486 } )
480487 }
0 commit comments