@@ -117,6 +117,7 @@ impl CanonicalVarInfo {
117117 CanonicalVarKind :: Region ( _) => true ,
118118 CanonicalVarKind :: PlaceholderRegion ( ..) => false ,
119119 CanonicalVarKind :: Const ( _) => true ,
120+ CanonicalVarKind :: PlaceholderConst ( _) => false ,
120121 }
121122 }
122123}
@@ -142,6 +143,9 @@ pub enum CanonicalVarKind {
142143
143144 /// Some kind of const inference variable.
144145 Const ( ty:: UniverseIndex ) ,
146+
147+ /// A "placeholder" that represents "any const".
148+ PlaceholderConst ( ty:: PlaceholderConst ) ,
145149}
146150
147151impl CanonicalVarKind {
@@ -156,6 +160,7 @@ impl CanonicalVarKind {
156160 CanonicalVarKind :: Region ( ui) => ui,
157161 CanonicalVarKind :: PlaceholderRegion ( placeholder) => placeholder. universe ,
158162 CanonicalVarKind :: Const ( ui) => ui,
163+ CanonicalVarKind :: PlaceholderConst ( placeholder) => placeholder. universe ,
159164 }
160165 }
161166}
@@ -405,6 +410,13 @@ impl<'cx, 'gcx, 'tcx> InferCtxt<'cx, 'gcx, 'tcx> {
405410 universe_map ( ui) ,
406411 ) . into ( )
407412 }
413+
414+ CanonicalVarKind :: PlaceholderConst (
415+ ty:: PlaceholderConst { universe, name } ,
416+ ) => {
417+ let _ = ( universe, name) ;
418+ unimplemented ! ( ) // FIXME(const_generics)
419+ }
408420 }
409421 }
410422}
0 commit comments