@@ -143,7 +143,7 @@ impl<O> AssertKind<O> {
143143 ResumedAfterReturn ( GeneratorKind :: Async ( _) ) => "`async fn` resumed after completion" ,
144144 ResumedAfterPanic ( GeneratorKind :: Gen ) => "generator resumed after panicking" ,
145145 ResumedAfterPanic ( GeneratorKind :: Async ( _) ) => "`async fn` resumed after panicking" ,
146- BoundsCheck { .. } | MisalignedPointerDereference { .. } => {
146+ BoundsCheck { .. } | MisalignedPointerDereference { .. } | OccupiedNiche { .. } => {
147147 bug ! ( "Unexpected AssertKind" )
148148 }
149149 }
@@ -206,6 +206,13 @@ impl<O> AssertKind<O> {
206206 "\" misaligned pointer dereference: address must be a multiple of {{}} but is {{}}\" , {required:?}, {found:?}"
207207 )
208208 }
209+ OccupiedNiche { found, start, end, type_name, offset, niche_ty } => {
210+ write ! (
211+ f,
212+ "\" occupied niche: {{}} must be in {{}}..={{}} in a {{}} at offset {{}} with type {{}}\" {:?} {:?} {:?} {:?} {:?} {:?}" ,
213+ found, start, end, type_name, offset, niche_ty
214+ )
215+ }
209216 _ => write ! ( f, "\" {}\" " , self . description( ) ) ,
210217 }
211218 }
@@ -232,8 +239,8 @@ impl<O> AssertKind<O> {
232239 ResumedAfterReturn ( GeneratorKind :: Gen ) => middle_assert_generator_resume_after_return,
233240 ResumedAfterPanic ( GeneratorKind :: Async ( _) ) => middle_assert_async_resume_after_panic,
234241 ResumedAfterPanic ( GeneratorKind :: Gen ) => middle_assert_generator_resume_after_panic,
235-
236242 MisalignedPointerDereference { .. } => middle_assert_misaligned_ptr_deref,
243+ OccupiedNiche { .. } => middle_assert_occupied_niche,
237244 }
238245 }
239246
@@ -270,6 +277,14 @@ impl<O> AssertKind<O> {
270277 add ! ( "required" , format!( "{required:#?}" ) ) ;
271278 add ! ( "found" , format!( "{found:#?}" ) ) ;
272279 }
280+ OccupiedNiche { found, start, end, type_name, offset, niche_ty } => {
281+ add ! ( "found" , format!( "{found:?}" ) ) ;
282+ add ! ( "start" , format!( "{start:?}" ) ) ;
283+ add ! ( "end" , format!( "{end:?}" ) ) ;
284+ add ! ( "type_name" , format!( "{type_name}" ) ) ;
285+ add ! ( "offset" , format!( "{offset:?}" ) ) ;
286+ add ! ( "niche_ty" , format!( "{niche_ty}" ) ) ;
287+ }
273288 }
274289 }
275290}
0 commit comments