@@ -22,6 +22,7 @@ use crate::delegate::SolverDelegate;
22
22
use crate :: placeholder:: BoundVarReplacer ;
23
23
use crate :: solve:: inspect:: { self , ProofTreeBuilder } ;
24
24
use crate :: solve:: search_graph:: SearchGraph ;
25
+ use crate :: solve:: ty:: may_use_unstable_feature;
25
26
use crate :: solve:: {
26
27
CanonicalInput , Certainty , FIXPOINT_STEP_LIMIT , Goal , GoalEvaluation , GoalEvaluationKind ,
27
28
GoalSource , GoalStalledOn , HasChanged , NestedNormalizationGoals , NoSolution , QueryInput ,
@@ -550,6 +551,9 @@ where
550
551
ty:: PredicateKind :: Clause ( ty:: ClauseKind :: ConstArgHasType ( ct, ty) ) => {
551
552
self . compute_const_arg_has_type_goal ( Goal { param_env, predicate : ( ct, ty) } )
552
553
}
554
+ ty:: PredicateKind :: Clause ( ty:: ClauseKind :: UnstableFeature ( symbol) ) => {
555
+ self . compute_unstable_feature_goal ( param_env, symbol)
556
+ }
553
557
ty:: PredicateKind :: Subtype ( predicate) => {
554
558
self . compute_subtype_goal ( Goal { param_env, predicate } )
555
559
}
@@ -1177,6 +1181,14 @@ where
1177
1181
) -> T {
1178
1182
BoundVarReplacer :: replace_bound_vars ( & * * self . delegate , universes, t) . 0
1179
1183
}
1184
+
1185
+ pub ( super ) fn may_use_unstable_feature (
1186
+ & self ,
1187
+ param_env : I :: ParamEnv ,
1188
+ symbol : I :: Symbol ,
1189
+ ) -> bool {
1190
+ may_use_unstable_feature ( & * * self . delegate , param_env, symbol)
1191
+ }
1180
1192
}
1181
1193
1182
1194
/// Eagerly replace aliases with inference variables, emitting `AliasRelate`
0 commit comments