@@ -143,7 +143,7 @@ impl<O> AssertKind<O> {
143
143
ResumedAfterReturn ( GeneratorKind :: Async ( _) ) => "`async fn` resumed after completion" ,
144
144
ResumedAfterPanic ( GeneratorKind :: Gen ) => "generator resumed after panicking" ,
145
145
ResumedAfterPanic ( GeneratorKind :: Async ( _) ) => "`async fn` resumed after panicking" ,
146
- BoundsCheck { .. } | MisalignedPointerDereference { .. } => {
146
+ BoundsCheck { .. } | MisalignedPointerDereference { .. } | OccupiedNiche { .. } => {
147
147
bug ! ( "Unexpected AssertKind" )
148
148
}
149
149
}
@@ -206,6 +206,13 @@ impl<O> AssertKind<O> {
206
206
"\" misaligned pointer dereference: address must be a multiple of {{}} but is {{}}\" , {required:?}, {found:?}"
207
207
)
208
208
}
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
+ }
209
216
_ => write ! ( f, "\" {}\" " , self . description( ) ) ,
210
217
}
211
218
}
@@ -232,8 +239,8 @@ impl<O> AssertKind<O> {
232
239
ResumedAfterReturn ( GeneratorKind :: Gen ) => middle_assert_generator_resume_after_return,
233
240
ResumedAfterPanic ( GeneratorKind :: Async ( _) ) => middle_assert_async_resume_after_panic,
234
241
ResumedAfterPanic ( GeneratorKind :: Gen ) => middle_assert_generator_resume_after_panic,
235
-
236
242
MisalignedPointerDereference { .. } => middle_assert_misaligned_ptr_deref,
243
+ OccupiedNiche { .. } => middle_assert_occupied_niche,
237
244
}
238
245
}
239
246
@@ -270,6 +277,14 @@ impl<O> AssertKind<O> {
270
277
add ! ( "required" , format!( "{required:#?}" ) ) ;
271
278
add ! ( "found" , format!( "{found:#?}" ) ) ;
272
279
}
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
+ }
273
288
}
274
289
}
275
290
}
0 commit comments