@@ -181,7 +181,6 @@ pub enum ProjectionElem<V: PartialEq> {
181181 } ,
182182 /// "Downcast" to a variant of an enum or a coroutine.
183183 Downcast ( VariantId ) ,
184- OpaqueCast ( std:: convert:: Infallible ) , // TODO remove this
185184}
186185
187186impl < V : PartialEq > ProjectionElem < V > {
@@ -195,7 +194,6 @@ impl<V: PartialEq> ProjectionElem<V> {
195194 }
196195 ProjectionElem :: Subslice { from, to } => ProjectionElem :: Subslice { from, to } ,
197196 ProjectionElem :: Downcast ( variant_id) => ProjectionElem :: Downcast ( variant_id) ,
198- ProjectionElem :: OpaqueCast ( ty) => ProjectionElem :: OpaqueCast ( ty) ,
199197 }
200198 }
201199
@@ -212,7 +210,6 @@ impl<V: PartialEq> ProjectionElem<V> {
212210 }
213211 ProjectionElem :: Subslice { from, to } => ProjectionElem :: Subslice { from, to } ,
214212 ProjectionElem :: Downcast ( variant_id) => ProjectionElem :: Downcast ( variant_id) ,
215- ProjectionElem :: OpaqueCast ( ty) => ProjectionElem :: OpaqueCast ( ty) ,
216213 } )
217214 }
218215}
@@ -1257,7 +1254,7 @@ impl<'db> PlaceTy<'db> {
12571254 . instantiate ( infcx. interner , args)
12581255 . skip_norm_wip ( )
12591256 }
1260- // TODO TyKind::Coroutine...
1257+ // FIXME TyKind::Coroutine...
12611258 _ => panic ! ( "can't downcast non-adt non-coroutine type: {self_ty:?}" ) ,
12621259 }
12631260 } else {
@@ -1272,7 +1269,7 @@ impl<'db> PlaceTy<'db> {
12721269 TyKind :: Closure ( _, args) => {
12731270 args. as_closure ( ) . tupled_upvars_ty ( ) . tuple_fields ( ) [ f. 0 as usize ]
12741271 }
1275- // TODO TyKind::Coroutine / TyKind::CoroutineClosure...
1272+ // FIXME TyKind::Coroutine / TyKind::CoroutineClosure...
12761273 TyKind :: Tuple ( tys) => tys
12771274 . get ( f. 0 as usize )
12781275 . cloned ( )
@@ -1360,7 +1357,6 @@ impl<'db> PlaceTy<'db> {
13601357 self . variant_id . clone ( ) ,
13611358 f,
13621359 ) ) ,
1363- ProjectionElem :: OpaqueCast ( _ty) => unimplemented ! ( "not emitted, to be removed" ) ,
13641360 } ;
13651361 answer
13661362 }
0 commit comments