@@ -14,6 +14,8 @@ use core::borrow::{Borrow, BorrowMut};
14
14
use core:: cmp:: Ordering :: { self , Less } ;
15
15
#[ cfg( kani) ]
16
16
use core:: kani;
17
+ #[ cfg( kani) ]
18
+ use core:: kani;
17
19
#[ cfg( not( no_global_oom_handling) ) ]
18
20
use core:: mem:: MaybeUninit ;
19
21
#[ cfg( kani) ]
@@ -68,8 +70,6 @@ use crate::alloc::Global;
68
70
#[ cfg( not( no_global_oom_handling) ) ]
69
71
use crate :: borrow:: ToOwned ;
70
72
use crate :: boxed:: Box ;
71
- #[ cfg( kani) ]
72
- use crate :: kani;
73
73
use crate :: vec:: Vec ;
74
74
75
75
impl < T > [ T ] {
@@ -536,14 +536,14 @@ impl<T> [T] {
536
536
let buf_ptr = ptr:: slice_from_raw_parts ( buf. as_ptr ( ) , capacity) ;
537
537
#[ cfg( kani) ]
538
538
let len_ptr = unsafe { ( & buf as * const Vec < T > as * const usize ) . add ( 2 ) } ;
539
- #[ safety :: loop_invariant(
539
+ #[ cfg_attr ( kani , kani :: loop_invariant(
540
540
kani:: mem:: same_allocation( buf. as_ptr( ) , buf. as_ptr( ) . wrapping_add( capacity) ) &&
541
541
unsafe { * len_ptr <= T :: MAX_SLICE_LEN } &&
542
542
unsafe { * len_ptr <= capacity} &&
543
543
m. leading_zeros( ) > n. leading_zeros( ) &&
544
544
unsafe { * len_ptr == sef. len( ) * ( 1usize << ( m. leading_zeros( ) - n. leading_zeros( ) - 1 ) ) }
545
- ) ]
546
- #[ safety :: loop_modifies( & m, buf_ptr, len_ptr) ]
545
+ ) ) ]
546
+ #[ cfg_attr ( kani , kani :: loop_modifies( & m, buf_ptr, len_ptr) ) ]
547
547
while m > 0 {
548
548
// `buf.extend(buf)`:
549
549
unsafe {
@@ -897,13 +897,13 @@ pub mod slice_verify {
897
897
fn check_repeat_u8 ( ) {
898
898
let mut a: [ u8 ; 10 ] = kani:: any ( ) ;
899
899
let n = kani:: any_where ( |i| * i < 10 ) ;
900
- let _result = repeat ( a . as_slice ( ) , n) ;
900
+ let _result = a . repeat ( n) ;
901
901
}
902
902
903
903
#[ kani:: proof]
904
904
fn check_repeat_u16 ( ) {
905
905
let mut a: [ u16 ; 10 ] = kani:: any ( ) ;
906
906
let n = kani:: any_where ( |i| * i < 10 ) ;
907
- let _result = repeat ( a . as_slice ( ) , n) ;
907
+ let _result = a . repeat ( n) ;
908
908
}
909
909
}
0 commit comments