@@ -141,8 +141,14 @@ impl<O> AssertKind<O> {
141141 RemainderByZero ( _) => "attempt to calculate the remainder with a divisor of zero" ,
142142 ResumedAfterReturn ( CoroutineKind :: Coroutine ) => "coroutine resumed after completion" ,
143143 ResumedAfterReturn ( CoroutineKind :: Async ( _) ) => "`async fn` resumed after completion" ,
144+ ResumedAfterReturn ( CoroutineKind :: Gen ( _) ) => {
145+ bug ! ( "`gen fn` should just keep returning `None` after the first time" )
146+ }
144147 ResumedAfterPanic ( CoroutineKind :: Coroutine ) => "coroutine resumed after panicking" ,
145148 ResumedAfterPanic ( CoroutineKind :: Async ( _) ) => "`async fn` resumed after panicking" ,
149+ ResumedAfterPanic ( CoroutineKind :: Gen ( _) ) => {
150+ bug ! ( "`gen fn` should just keep returning `None` after panicking" )
151+ }
146152 BoundsCheck { .. } | MisalignedPointerDereference { .. } => {
147153 bug ! ( "Unexpected AssertKind" )
148154 }
@@ -229,10 +235,14 @@ impl<O> AssertKind<O> {
229235 DivisionByZero ( _) => middle_assert_divide_by_zero,
230236 RemainderByZero ( _) => middle_assert_remainder_by_zero,
231237 ResumedAfterReturn ( CoroutineKind :: Async ( _) ) => middle_assert_async_resume_after_return,
238+ // FIXME(oli-obk): custom error message for `gen` blocks
239+ ResumedAfterReturn ( CoroutineKind :: Gen ( _) ) => middle_assert_async_resume_after_return,
232240 ResumedAfterReturn ( CoroutineKind :: Coroutine ) => {
233241 middle_assert_coroutine_resume_after_return
234242 }
235243 ResumedAfterPanic ( CoroutineKind :: Async ( _) ) => middle_assert_async_resume_after_panic,
244+ // FIXME(oli-obk): custom error message for `gen` blocks
245+ ResumedAfterPanic ( CoroutineKind :: Gen ( _) ) => middle_assert_async_resume_after_panic,
236246 ResumedAfterPanic ( CoroutineKind :: Coroutine ) => {
237247 middle_assert_coroutine_resume_after_panic
238248 }
0 commit comments