@@ -456,42 +456,60 @@ mod verify {
456456 // fn alloc_impl(&self, layout: Layout, zeroed: bool) -> Result<NonNull<[u8]>, AllocError>
457457 #[ kani:: proof_for_contract( Global :: alloc_impl) ]
458458 pub fn check_alloc_impl ( ) {
459- let obj : Global = kani:: any ( ) ;
460- let _ = obj. alloc_impl ( kani:: any ( ) ) ;
459+ let _ = Global . alloc_impl ( kani:: any ( ) , kani:: any ( ) ) ;
461460 }
462461
463462 // unsafe fn grow_impl(&self, ptr: NonNull<u8>, old_layout: Layout, new_layout: Layout, zeroed: bool) -> Result<NonNull<[u8]>, AllocError>
464463 #[ kani:: proof_for_contract( Global :: grow_impl) ]
465464 pub fn check_grow_impl ( ) {
466- let obj : Global = kani:: any ( ) ;
467- let _ = obj. grow_impl ( kani:: any ( ) ) ;
465+ let raw_ptr = kani:: any :: < usize > ( ) as * mut u8 ;
466+ unsafe {
467+ let n = NonNull :: new_unchecked ( raw_ptr) ;
468+ let _ = Global . grow_impl ( n, kani:: any ( ) , kani:: any ( ) , kani:: any ( ) ) ;
469+ }
468470 }
469471
470472 // unsafe fn deallocate(&self, ptr: NonNull<u8>, layout: Layout)
471473 #[ kani:: proof_for_contract( Allocator :: deallocate) ]
472474 pub fn check_deallocate ( ) {
473- let obj : Allocator = kani:: any ( ) ;
474- let _ = obj. deallocate ( kani:: any ( ) ) ;
475+ let obj : & dyn Allocator = & Global ;
476+ let raw_ptr = kani:: any :: < usize > ( ) as * mut u8 ;
477+ unsafe {
478+ let n = NonNull :: new_unchecked ( raw_ptr) ;
479+ let _ = obj. deallocate ( n, kani:: any ( ) ) ;
480+ }
475481 }
476482
477483 // unsafe fn grow(&self, ptr: NonNull<u8>, old_layout: Layout, new_layout: Layout) -> Result<NonNull<[u8]>, AllocError>
478484 #[ kani:: proof_for_contract( Allocator :: grow) ]
479485 pub fn check_grow ( ) {
480- let obj : Allocator = kani:: any ( ) ;
481- let _ = obj. grow ( kani:: any ( ) ) ;
486+ let obj : & dyn Allocator = & Global ;
487+ let raw_ptr = kani:: any :: < usize > ( ) as * mut u8 ;
488+ unsafe {
489+ let n = NonNull :: new_unchecked ( raw_ptr) ;
490+ let _ = obj. grow ( n, kani:: any ( ) , kani:: any ( ) ) ;
491+ }
482492 }
483493
484494 // unsafe fn grow_zeroed(&self, ptr: NonNull<u8>, old_layout: Layout, new_layout: Layout) -> Result<NonNull<[u8]>, AllocError>
485495 #[ kani:: proof_for_contract( Allocator :: grow_zeroed) ]
486496 pub fn check_grow_zeroed ( ) {
487- let obj : Allocator = kani:: any ( ) ;
488- let _ = obj. grow_zeroed ( kani:: any ( ) ) ;
497+ let obj : & dyn Allocator = & Global ;
498+ let raw_ptr = kani:: any :: < usize > ( ) as * mut u8 ;
499+ unsafe {
500+ let n = NonNull :: new_unchecked ( raw_ptr) ;
501+ let _ = obj. grow_zeroed ( n, kani:: any ( ) , kani:: any ( ) ) ;
502+ }
489503 }
490504
491505 // unsafe fn shrink(&self, ptr: NonNull<u8>, old_layout: Layout, new_layout: Layout) -> Result<NonNull<[u8]>, AllocError>
492506 #[ kani:: proof_for_contract( Allocator :: shrink) ]
493507 pub fn check_shrink ( ) {
494- let obj : Allocator = kani:: any ( ) ;
495- let _ = obj. shrink ( kani:: any ( ) ) ;
508+ let obj : & dyn Allocator = & Global ;
509+ let raw_ptr = kani:: any :: < usize > ( ) as * mut u8 ;
510+ unsafe {
511+ let n = NonNull :: new_unchecked ( raw_ptr) ;
512+ let _ = obj. shrink ( n, kani:: any ( ) , kani:: any ( ) ) ;
513+ }
496514 }
497515}
0 commit comments