Skip to content

Commit cb4b650

Browse files
committed
Disable unsupported harnesses of trait contracts
1 parent f17509e commit cb4b650

File tree

1 file changed

+47
-43
lines changed

1 file changed

+47
-43
lines changed

library/alloc/src/alloc.rs

Lines changed: 47 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -469,47 +469,51 @@ mod verify {
469469
}
470470
}
471471

472-
// unsafe fn deallocate(&self, ptr: NonNull<u8>, layout: Layout)
473-
#[kani::proof_for_contract(Allocator::deallocate)]
474-
pub fn check_deallocate() {
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-
}
481-
}
482-
483-
// unsafe fn grow(&self, ptr: NonNull<u8>, old_layout: Layout, new_layout: Layout) -> Result<NonNull<[u8]>, AllocError>
484-
#[kani::proof_for_contract(Allocator::grow)]
485-
pub fn check_grow() {
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-
}
492-
}
493-
494-
// unsafe fn grow_zeroed(&self, ptr: NonNull<u8>, old_layout: Layout, new_layout: Layout) -> Result<NonNull<[u8]>, AllocError>
495-
#[kani::proof_for_contract(Allocator::grow_zeroed)]
496-
pub fn check_grow_zeroed() {
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-
}
503-
}
504-
505-
// unsafe fn shrink(&self, ptr: NonNull<u8>, old_layout: Layout, new_layout: Layout) -> Result<NonNull<[u8]>, AllocError>
506-
#[kani::proof_for_contract(Allocator::shrink)]
507-
pub fn check_shrink() {
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-
}
514-
}
472+
// TODO: disabled as Kani does not currently support contracts on traits
473+
// // unsafe fn deallocate(&self, ptr: NonNull<u8>, layout: Layout)
474+
// #[kani::proof_for_contract(Allocator::deallocate)]
475+
// pub fn check_deallocate() {
476+
// let obj : &dyn Allocator = &Global;
477+
// let raw_ptr = kani::any::<usize>() as *mut u8;
478+
// unsafe {
479+
// let n = NonNull::new_unchecked(raw_ptr);
480+
// let _ = obj.deallocate(n, kani::any());
481+
// }
482+
// }
483+
484+
// TODO: disabled as Kani does not currently support contracts on traits
485+
// // unsafe fn grow(&self, ptr: NonNull<u8>, old_layout: Layout, new_layout: Layout) -> Result<NonNull<[u8]>, AllocError>
486+
// #[kani::proof_for_contract(Allocator::grow)]
487+
// pub fn check_grow() {
488+
// let obj : &dyn Allocator = &Global;
489+
// let raw_ptr = kani::any::<usize>() as *mut u8;
490+
// unsafe {
491+
// let n = NonNull::new_unchecked(raw_ptr);
492+
// let _ = obj.grow(n, kani::any(), kani::any());
493+
// }
494+
// }
495+
496+
// TODO: disabled as Kani does not currently support contracts on traits
497+
// // unsafe fn grow_zeroed(&self, ptr: NonNull<u8>, old_layout: Layout, new_layout: Layout) -> Result<NonNull<[u8]>, AllocError>
498+
// #[kani::proof_for_contract(Allocator::grow_zeroed)]
499+
// pub fn check_grow_zeroed() {
500+
// let obj : &dyn Allocator = &Global;
501+
// let raw_ptr = kani::any::<usize>() as *mut u8;
502+
// unsafe {
503+
// let n = NonNull::new_unchecked(raw_ptr);
504+
// let _ = obj.grow_zeroed(n, kani::any(), kani::any());
505+
// }
506+
// }
507+
508+
// TODO: disabled as Kani does not currently support contracts on traits
509+
// // unsafe fn shrink(&self, ptr: NonNull<u8>, old_layout: Layout, new_layout: Layout) -> Result<NonNull<[u8]>, AllocError>
510+
// #[kani::proof_for_contract(Allocator::shrink)]
511+
// pub fn check_shrink() {
512+
// let obj : &dyn Allocator = &Global;
513+
// let raw_ptr = kani::any::<usize>() as *mut u8;
514+
// unsafe {
515+
// let n = NonNull::new_unchecked(raw_ptr);
516+
// let _ = obj.shrink(n, kani::any(), kani::any());
517+
// }
518+
// }
515519
}

0 commit comments

Comments
 (0)