@@ -200,7 +200,6 @@ rustc_queries! {
200
200
// queries). Making it anonymous avoids hashing the result, which
201
201
// may save a bit of time.
202
202
anon
203
- no_force
204
203
desc { "erasing regions from `{:?}`" , ty }
205
204
}
206
205
@@ -209,7 +208,6 @@ rustc_queries! {
209
208
}
210
209
211
210
query program_clauses_for_env( _: traits:: Environment <' tcx>) -> Clauses <' tcx> {
212
- no_force
213
211
desc { "generating chalk-style clauses for environment" }
214
212
}
215
213
@@ -252,7 +250,6 @@ rustc_queries! {
252
250
/// To avoid cycles within the predicates of a single item we compute
253
251
/// per-type-parameter predicates for resolving `T::AssocTy`.
254
252
query type_param_predicates( key: ( DefId , DefId ) ) -> ty:: GenericPredicates <' tcx> {
255
- no_force
256
253
desc { |tcx| "computing the bounds for type parameter `{}`" , {
257
254
let id = tcx. hir( ) . as_local_hir_id( key. 1 ) . unwrap( ) ;
258
255
tcx. hir( ) . ty_param_name( id)
@@ -508,7 +505,6 @@ rustc_queries! {
508
505
/// form to be used outside of const eval.
509
506
query const_eval_raw( key: ty:: ParamEnvAnd <' tcx, GlobalId <' tcx>>)
510
507
-> ConstEvalRawResult <' tcx> {
511
- no_force
512
508
desc { |tcx|
513
509
"const-evaluating `{}`" ,
514
510
tcx. def_path_str( key. value. instance. def. def_id( ) )
@@ -525,7 +521,6 @@ rustc_queries! {
525
521
/// `tcx.const_eval_resolve`, `tcx.const_eval_instance`, or `tcx.const_eval_global_id`.
526
522
query const_eval_validated( key: ty:: ParamEnvAnd <' tcx, GlobalId <' tcx>>)
527
523
-> ConstEvalResult <' tcx> {
528
- no_force
529
524
desc { |tcx|
530
525
"const-evaluating + checking `{}`" ,
531
526
tcx. def_path_str( key. value. instance. def. def_id( ) )
@@ -540,7 +535,6 @@ rustc_queries! {
540
535
query const_field(
541
536
key: ty:: ParamEnvAnd <' tcx, ( & ' tcx ty:: Const <' tcx>, mir:: Field ) >
542
537
) -> ConstValue <' tcx> {
543
- no_force
544
538
desc { "extract field of const" }
545
539
}
546
540
@@ -549,19 +543,16 @@ rustc_queries! {
549
543
query destructure_const(
550
544
key: ty:: ParamEnvAnd <' tcx, & ' tcx ty:: Const <' tcx>>
551
545
) -> mir:: DestructuredConst <' tcx> {
552
- no_force
553
546
desc { "destructure constant" }
554
547
}
555
548
556
549
query const_caller_location( key: ( rustc_span:: Symbol , u32 , u32 ) ) -> ConstValue <' tcx> {
557
- no_force
558
550
desc { "get a &core::panic::Location referring to a span" }
559
551
}
560
552
561
553
query lit_to_const(
562
554
key: LitToConstInput <' tcx>
563
555
) -> Result <& ' tcx ty:: Const <' tcx>, LitToConstError > {
564
- no_force
565
556
desc { "converting literal to const" }
566
557
}
567
558
}
@@ -592,15 +583,13 @@ rustc_queries! {
592
583
query region_scope_tree( _: DefId ) -> & ' tcx region:: ScopeTree { }
593
584
594
585
query mir_shims( key: ty:: InstanceDef <' tcx>) -> & ' tcx mir:: BodyAndCache <' tcx> {
595
- no_force
596
586
desc { |tcx| "generating MIR shim for `{}`" , tcx. def_path_str( key. def_id( ) ) }
597
587
}
598
588
599
589
/// The `symbol_name` query provides the symbol name for calling a
600
590
/// given instance from the local crate. In particular, it will also
601
591
/// look up the correct symbol name of instances from upstream crates.
602
592
query symbol_name( key: ty:: Instance <' tcx>) -> ty:: SymbolName {
603
- no_force
604
593
desc { "computing the symbol for `{}`" , key }
605
594
cache_on_disk_if { true }
606
595
}
@@ -647,7 +636,6 @@ rustc_queries! {
647
636
Other {
648
637
query vtable_methods( key: ty:: PolyTraitRef <' tcx>)
649
638
-> & ' tcx [ Option <( DefId , SubstsRef <' tcx>) >] {
650
- no_force
651
639
desc { |tcx| "finding all methods for trait {}" , tcx. def_path_str( key. def_id( ) ) }
652
640
}
653
641
}
@@ -656,7 +644,6 @@ rustc_queries! {
656
644
query codegen_fulfill_obligation(
657
645
key: ( ty:: ParamEnv <' tcx>, ty:: PolyTraitRef <' tcx>)
658
646
) -> Option <Vtable <' tcx, ( ) >> {
659
- no_force
660
647
cache_on_disk_if { true }
661
648
desc { |tcx|
662
649
"checking if `{}` fulfills its obligations" ,
@@ -688,22 +675,18 @@ rustc_queries! {
688
675
/// Trait selection queries. These are best used by invoking `ty.is_copy_modulo_regions()`,
689
676
/// `ty.is_copy()`, etc, since that will prune the environment where possible.
690
677
query is_copy_raw( env: ty:: ParamEnvAnd <' tcx, Ty <' tcx>>) -> bool {
691
- no_force
692
678
desc { "computing whether `{}` is `Copy`" , env. value }
693
679
}
694
680
/// Query backing `TyS::is_sized`.
695
681
query is_sized_raw( env: ty:: ParamEnvAnd <' tcx, Ty <' tcx>>) -> bool {
696
- no_force
697
682
desc { "computing whether `{}` is `Sized`" , env. value }
698
683
}
699
684
/// Query backing `TyS::is_freeze`.
700
685
query is_freeze_raw( env: ty:: ParamEnvAnd <' tcx, Ty <' tcx>>) -> bool {
701
- no_force
702
686
desc { "computing whether `{}` is freeze" , env. value }
703
687
}
704
688
/// Query backing `TyS::needs_drop`.
705
689
query needs_drop_raw( env: ty:: ParamEnvAnd <' tcx, Ty <' tcx>>) -> bool {
706
- no_force
707
690
desc { "computing whether `{}` needs drop" , env. value }
708
691
}
709
692
@@ -717,7 +700,6 @@ rustc_queries! {
717
700
query layout_raw(
718
701
env: ty:: ParamEnvAnd <' tcx, Ty <' tcx>>
719
702
) -> Result <& ' tcx ty:: layout:: LayoutDetails , ty:: layout:: LayoutError <' tcx>> {
720
- no_force
721
703
desc { "computing layout of `{}`" , env. value }
722
704
}
723
705
}
@@ -773,7 +755,6 @@ rustc_queries! {
773
755
774
756
TypeChecking {
775
757
query specializes( _: ( DefId , DefId ) ) -> bool {
776
- no_force
777
758
desc { "computing whether impls specialize one another" }
778
759
}
779
760
query in_scope_traits_map( _: DefIndex )
@@ -858,7 +839,6 @@ rustc_queries! {
858
839
/// (like `Clone::clone` for example).
859
840
query upstream_drop_glue_for( substs: SubstsRef <' tcx>) -> Option <CrateNum > {
860
841
desc { "available upstream drop-glue for `{:?}`" , substs }
861
- no_force
862
842
}
863
843
}
864
844
@@ -903,7 +883,6 @@ rustc_queries! {
903
883
TypeChecking {
904
884
query implementations_of_trait( _: ( CrateNum , DefId ) )
905
885
-> & ' tcx [ DefId ] {
906
- no_force
907
886
desc { "looking up implementations of a trait in a crate" }
908
887
}
909
888
query all_trait_implementations( _: CrateNum )
@@ -1070,7 +1049,6 @@ rustc_queries! {
1070
1049
}
1071
1050
query is_codegened_item( _: DefId ) -> bool { }
1072
1051
query codegen_unit( _: Symbol ) -> Arc <CodegenUnit <' tcx>> {
1073
- no_force
1074
1052
desc { "codegen_unit" }
1075
1053
}
1076
1054
query backend_optimization_level( _: CrateNum ) -> OptLevel {
@@ -1093,15 +1071,13 @@ rustc_queries! {
1093
1071
& ' tcx Canonical <' tcx, canonical:: QueryResponse <' tcx, NormalizationResult <' tcx>>>,
1094
1072
NoSolution ,
1095
1073
> {
1096
- no_force
1097
1074
desc { "normalizing `{:?}`" , goal }
1098
1075
}
1099
1076
1100
1077
/// Do not call this query directly: invoke `normalize_erasing_regions` instead.
1101
1078
query normalize_ty_after_erasing_regions(
1102
1079
goal: ParamEnvAnd <' tcx, Ty <' tcx>>
1103
1080
) -> Ty <' tcx> {
1104
- no_force
1105
1081
desc { "normalizing `{:?}`" , goal }
1106
1082
}
1107
1083
@@ -1111,7 +1087,6 @@ rustc_queries! {
1111
1087
& ' tcx Canonical <' tcx, canonical:: QueryResponse <' tcx, Vec <OutlivesBound <' tcx>>>>,
1112
1088
NoSolution ,
1113
1089
> {
1114
- no_force
1115
1090
desc { "computing implied outlives bounds for `{:?}`" , goal }
1116
1091
}
1117
1092
@@ -1122,7 +1097,6 @@ rustc_queries! {
1122
1097
& ' tcx Canonical <' tcx, canonical:: QueryResponse <' tcx, DropckOutlivesResult <' tcx>>>,
1123
1098
NoSolution ,
1124
1099
> {
1125
- no_force
1126
1100
desc { "computing dropck types for `{:?}`" , goal }
1127
1101
}
1128
1102
@@ -1131,7 +1105,6 @@ rustc_queries! {
1131
1105
query evaluate_obligation(
1132
1106
goal: CanonicalPredicateGoal <' tcx>
1133
1107
) -> Result <traits:: EvaluationResult , traits:: OverflowError > {
1134
- no_force
1135
1108
desc { "evaluating trait selection obligation `{}`" , goal. value. value }
1136
1109
}
1137
1110
@@ -1142,7 +1115,6 @@ rustc_queries! {
1142
1115
& ' tcx Canonical <' tcx, canonical:: QueryResponse <' tcx, ( ) >>,
1143
1116
NoSolution ,
1144
1117
> {
1145
- no_force
1146
1118
desc { "evaluating `type_op_ascribe_user_type` `{:?}`" , goal }
1147
1119
}
1148
1120
@@ -1153,7 +1125,6 @@ rustc_queries! {
1153
1125
& ' tcx Canonical <' tcx, canonical:: QueryResponse <' tcx, ( ) >>,
1154
1126
NoSolution ,
1155
1127
> {
1156
- no_force
1157
1128
desc { "evaluating `type_op_eq` `{:?}`" , goal }
1158
1129
}
1159
1130
@@ -1164,7 +1135,6 @@ rustc_queries! {
1164
1135
& ' tcx Canonical <' tcx, canonical:: QueryResponse <' tcx, ( ) >>,
1165
1136
NoSolution ,
1166
1137
> {
1167
- no_force
1168
1138
desc { "evaluating `type_op_subtype` `{:?}`" , goal }
1169
1139
}
1170
1140
@@ -1175,7 +1145,6 @@ rustc_queries! {
1175
1145
& ' tcx Canonical <' tcx, canonical:: QueryResponse <' tcx, ( ) >>,
1176
1146
NoSolution ,
1177
1147
> {
1178
- no_force
1179
1148
desc { "evaluating `type_op_prove_predicate` `{:?}`" , goal }
1180
1149
}
1181
1150
@@ -1186,7 +1155,6 @@ rustc_queries! {
1186
1155
& ' tcx Canonical <' tcx, canonical:: QueryResponse <' tcx, Ty <' tcx>>>,
1187
1156
NoSolution ,
1188
1157
> {
1189
- no_force
1190
1158
desc { "normalizing `{:?}`" , goal }
1191
1159
}
1192
1160
@@ -1197,7 +1165,6 @@ rustc_queries! {
1197
1165
& ' tcx Canonical <' tcx, canonical:: QueryResponse <' tcx, ty:: Predicate <' tcx>>>,
1198
1166
NoSolution ,
1199
1167
> {
1200
- no_force
1201
1168
desc { "normalizing `{:?}`" , goal }
1202
1169
}
1203
1170
@@ -1208,7 +1175,6 @@ rustc_queries! {
1208
1175
& ' tcx Canonical <' tcx, canonical:: QueryResponse <' tcx, ty:: PolyFnSig <' tcx>>>,
1209
1176
NoSolution ,
1210
1177
> {
1211
- no_force
1212
1178
desc { "normalizing `{:?}`" , goal }
1213
1179
}
1214
1180
@@ -1219,12 +1185,10 @@ rustc_queries! {
1219
1185
& ' tcx Canonical <' tcx, canonical:: QueryResponse <' tcx, ty:: FnSig <' tcx>>>,
1220
1186
NoSolution ,
1221
1187
> {
1222
- no_force
1223
1188
desc { "normalizing `{:?}`" , goal }
1224
1189
}
1225
1190
1226
1191
query substitute_normalize_and_test_predicates( key: ( DefId , SubstsRef <' tcx>) ) -> bool {
1227
- no_force
1228
1192
desc { |tcx|
1229
1193
"testing substituted normalized predicates:`{}`" ,
1230
1194
tcx. def_path_str( key. 0 )
@@ -1234,7 +1198,6 @@ rustc_queries! {
1234
1198
query method_autoderef_steps(
1235
1199
goal: CanonicalTyGoal <' tcx>
1236
1200
) -> MethodAutoderefStepsResult <' tcx> {
1237
- no_force
1238
1201
desc { "computing autoderef types for `{:?}`" , goal }
1239
1202
}
1240
1203
}
@@ -1248,7 +1211,6 @@ rustc_queries! {
1248
1211
// Get an estimate of the size of an InstanceDef based on its MIR for CGU partitioning.
1249
1212
query instance_def_size_estimate( def: ty:: InstanceDef <' tcx>)
1250
1213
-> usize {
1251
- no_force
1252
1214
desc { |tcx| "estimating size for `{}`" , tcx. def_path_str( def. def_id( ) ) }
1253
1215
}
1254
1216
0 commit comments