@@ -506,7 +506,9 @@ impl<'i, I: Interner> Zipper<'i, I> for AnswerSubstitutor<'i, I> {
506506 }
507507
508508 ( LifetimeData :: Static , LifetimeData :: Static )
509- | ( LifetimeData :: Placeholder ( _) , LifetimeData :: Placeholder ( _) ) => {
509+ | ( LifetimeData :: Placeholder ( _) , LifetimeData :: Placeholder ( _) )
510+ | ( LifetimeData :: Erased , LifetimeData :: Erased )
511+ | ( LifetimeData :: Empty ( _) , LifetimeData :: Empty ( _) ) => {
510512 assert_eq ! ( answer, pending) ;
511513 Ok ( ( ) )
512514 }
@@ -518,12 +520,14 @@ impl<'i, I: Interner> Zipper<'i, I> for AnswerSubstitutor<'i, I> {
518520
519521 ( LifetimeData :: Static , _)
520522 | ( LifetimeData :: BoundVar ( _) , _)
521- | ( LifetimeData :: Placeholder ( _) , _) => panic ! (
523+ | ( LifetimeData :: Placeholder ( _) , _)
524+ | ( LifetimeData :: Erased , _)
525+ | ( LifetimeData :: Empty ( _) , _) => panic ! (
522526 "structural mismatch between answer `{:?}` and pending goal `{:?}`" ,
523527 answer, pending,
524528 ) ,
525529
526- ( LifetimeData :: Phantom ( .. ) , _) => unreachable ! ( ) ,
530+ ( LifetimeData :: Phantom ( void , _ ) , _) => match * void { } ,
527531 }
528532 }
529533
0 commit comments