@@ -22,6 +22,7 @@ use crate::delegate::SolverDelegate;
2222use crate :: placeholder:: BoundVarReplacer ;
2323use crate :: solve:: inspect:: { self , ProofTreeBuilder } ;
2424use crate :: solve:: search_graph:: SearchGraph ;
25+ use crate :: solve:: ty:: may_use_unstable_feature;
2526use crate :: solve:: {
2627 CanonicalInput , Certainty , FIXPOINT_STEP_LIMIT , Goal , GoalEvaluation , GoalEvaluationKind ,
2728 GoalSource , GoalStalledOn , HasChanged , NestedNormalizationGoals , NoSolution , QueryInput ,
@@ -550,6 +551,9 @@ where
550551 ty:: PredicateKind :: Clause ( ty:: ClauseKind :: ConstArgHasType ( ct, ty) ) => {
551552 self . compute_const_arg_has_type_goal ( Goal { param_env, predicate : ( ct, ty) } )
552553 }
554+ ty:: PredicateKind :: Clause ( ty:: ClauseKind :: UnstableFeature ( symbol) ) => {
555+ self . compute_unstable_feature_goal ( param_env, symbol)
556+ }
553557 ty:: PredicateKind :: Subtype ( predicate) => {
554558 self . compute_subtype_goal ( Goal { param_env, predicate } )
555559 }
@@ -1177,6 +1181,14 @@ where
11771181 ) -> T {
11781182 BoundVarReplacer :: replace_bound_vars ( & * * self . delegate , universes, t) . 0
11791183 }
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+ }
11801192}
11811193
11821194/// Eagerly replace aliases with inference variables, emitting `AliasRelate`
0 commit comments