@@ -13,8 +13,8 @@ use rustc_hir::limit::Limit;
1313use rustc_index:: Idx ;
1414use rustc_middle:: bug;
1515use rustc_middle:: dep_graph:: {
16- self , DepContext , DepKind , DepKindStruct , DepNode , DepNodeIndex , SerializedDepNodeIndex ,
17- dep_kinds,
16+ self , DepContext , DepKind , DepKindStruct , DepNode , DepNodeIndex , MarkFrame ,
17+ SerializedDepNodeIndex , dep_kinds,
1818} ;
1919use rustc_middle:: query:: Key ;
2020use rustc_middle:: query:: on_disk_cache:: {
@@ -489,7 +489,12 @@ where
489489 value
490490}
491491
492- fn force_from_dep_node < ' tcx , Q > ( query : Q , tcx : TyCtxt < ' tcx > , dep_node : DepNode ) -> bool
492+ fn force_from_dep_node < ' tcx , Q > (
493+ query : Q ,
494+ tcx : TyCtxt < ' tcx > ,
495+ dep_node : DepNode ,
496+ frame : & MarkFrame < ' _ > ,
497+ ) -> bool
493498where
494499 Q : QueryConfig < QueryCtxt < ' tcx > > ,
495500{
@@ -512,7 +517,7 @@ where
512517 ) ;
513518
514519 if let Some ( key) = Q :: Key :: recover ( tcx, & dep_node) {
515- force_query ( query, QueryCtxt :: new ( tcx) , key, dep_node) ;
520+ force_query ( query, QueryCtxt :: new ( tcx) , key, dep_node, frame ) ;
516521 true
517522 } else {
518523 false
@@ -540,8 +545,8 @@ where
540545 is_anon,
541546 is_eval_always,
542547 fingerprint_style,
543- force_from_dep_node : Some ( |tcx, dep_node, _| {
544- force_from_dep_node ( Q :: config ( tcx) , tcx, dep_node)
548+ force_from_dep_node : Some ( |tcx, dep_node, _, frame | {
549+ force_from_dep_node ( Q :: config ( tcx) , tcx, dep_node, frame )
545550 } ) ,
546551 try_load_from_on_disk_cache : Some ( |tcx, dep_node| {
547552 try_load_from_on_disk_cache ( Q :: config ( tcx) , tcx, dep_node)
@@ -853,7 +858,7 @@ macro_rules! define_queries {
853858 is_anon: false ,
854859 is_eval_always: false ,
855860 fingerprint_style: FingerprintStyle :: Unit ,
856- force_from_dep_node: Some ( |_, dep_node, _| bug!( "force_from_dep_node: encountered {:?}" , dep_node) ) ,
861+ force_from_dep_node: Some ( |_, dep_node, _, _ | bug!( "force_from_dep_node: encountered {:?}" , dep_node) ) ,
857862 try_load_from_on_disk_cache: None ,
858863 name: & "Null" ,
859864 }
@@ -865,7 +870,7 @@ macro_rules! define_queries {
865870 is_anon: false ,
866871 is_eval_always: false ,
867872 fingerprint_style: FingerprintStyle :: Unit ,
868- force_from_dep_node: Some ( |_, dep_node, _| bug!( "force_from_dep_node: encountered {:?}" , dep_node) ) ,
873+ force_from_dep_node: Some ( |_, dep_node, _, _ | bug!( "force_from_dep_node: encountered {:?}" , dep_node) ) ,
869874 try_load_from_on_disk_cache: None ,
870875 name: & "Red" ,
871876 }
@@ -876,7 +881,7 @@ macro_rules! define_queries {
876881 is_anon: false ,
877882 is_eval_always: false ,
878883 fingerprint_style: FingerprintStyle :: Unit ,
879- force_from_dep_node: Some ( |tcx, _, prev_index| {
884+ force_from_dep_node: Some ( |tcx, _, prev_index, _ | {
880885 tcx. dep_graph. force_diagnostic_node( QueryCtxt :: new( tcx) , prev_index) ;
881886 true
882887 } ) ,
@@ -890,7 +895,7 @@ macro_rules! define_queries {
890895 is_anon: true ,
891896 is_eval_always: false ,
892897 fingerprint_style: FingerprintStyle :: Opaque ,
893- force_from_dep_node: Some ( |_, _, _| bug!( "cannot force an anon node" ) ) ,
898+ force_from_dep_node: Some ( |_, _, _, _ | bug!( "cannot force an anon node" ) ) ,
894899 try_load_from_on_disk_cache: None ,
895900 name: & "AnonZeroDeps" ,
896901 }
0 commit comments