@@ -484,12 +484,11 @@ where
484484 tcx. store_side_effects_for_anon_node ( dep_node_index, side_effects) ;
485485 }
486486
487- let result = job. complete ( result, dep_node_index) ;
488487 ( result, dep_node_index)
489488 } else if query. eval_always {
490489 // `to_dep_node` is expensive for some `DepKind`s.
491490 let dep_node = dep_node. unwrap_or_else ( || query. to_dep_node ( * tcx. dep_context ( ) , & key) ) ;
492- force_query_with_job ( tcx, key, job, dep_node, query, compute)
491+ force_query_with_job ( tcx, key, job. id , dep_node, query, compute)
493492 } else {
494493 // `to_dep_node` is expensive for some `DepKind`s.
495494 let dep_node = dep_node. unwrap_or_else ( || query. to_dep_node ( * tcx. dep_context ( ) , & key) ) ;
@@ -500,12 +499,12 @@ where
500499 try_load_from_disk_and_cache_in_memory ( tcx, & key, & dep_node, query, compute)
501500 } ) ;
502501 if let Some ( ( result, dep_node_index) ) = loaded {
503- let result = job. complete ( result, dep_node_index) ;
504502 ( result, dep_node_index)
505503 } else {
506- force_query_with_job ( tcx, key, job, dep_node, query, compute)
504+ force_query_with_job ( tcx, key, job. id , dep_node, query, compute)
507505 }
508506 } ;
507+ let result = job. complete ( result, dep_node_index) ;
509508 ( result, Some ( dep_node_index) )
510509}
511510
@@ -636,22 +635,22 @@ fn incremental_verify_ich<CTX, K, V: Debug>(
636635 }
637636}
638637
639- fn force_query_with_job < C , CTX > (
638+ fn force_query_with_job < CTX , K , V > (
640639 tcx : CTX ,
641- key : C :: Key ,
642- job : JobOwner < ' _ , CTX :: DepKind , C > ,
640+ key : K ,
641+ job_id : QueryJobId < CTX :: DepKind > ,
643642 dep_node : DepNode < CTX :: DepKind > ,
644- query : & QueryVtable < CTX , C :: Key , C :: Value > ,
645- compute : fn ( CTX :: DepContext , C :: Key ) -> C :: Value ,
646- ) -> ( C :: Stored , DepNodeIndex )
643+ query : & QueryVtable < CTX , K , V > ,
644+ compute : fn ( CTX :: DepContext , K ) -> V ,
645+ ) -> ( V , DepNodeIndex )
647646where
648- C : QueryCache ,
649647 CTX : QueryContext ,
648+ K : Debug ,
650649{
651650 let prof_timer = tcx. dep_context ( ) . profiler ( ) . query_provider ( ) ;
652651
653652 let ( ( result, dep_node_index) , diagnostics) = with_diagnostics ( |diagnostics| {
654- tcx. start_query ( job . id , diagnostics, || {
653+ tcx. start_query ( job_id , diagnostics, || {
655654 if query. eval_always {
656655 tcx. dep_context ( ) . dep_graph ( ) . with_eval_always_task (
657656 dep_node,
@@ -680,8 +679,6 @@ where
680679 tcx. store_side_effects ( dep_node_index, side_effects) ;
681680 }
682681
683- let result = job. complete ( result, dep_node_index) ;
684-
685682 ( result, dep_node_index)
686683}
687684
0 commit comments