File tree 1 file changed +9
-4
lines changed
1 file changed +9
-4
lines changed Original file line number Diff line number Diff line change @@ -388,6 +388,13 @@ enum AlignmentEnum {
388
388
mod verify {
389
389
use super :: * ;
390
390
391
+ impl kani:: Arbitrary for Alignment {
392
+ fn any ( ) -> Self {
393
+ let align = kani:: any_where ( |a : & usize | a. is_power_of_two ( ) ) ;
394
+ unsafe { mem:: transmute :: < usize , Alignment > ( align) }
395
+ }
396
+ }
397
+
391
398
// pub const fn of<T>() -> Self
392
399
#[ kani:: proof]
393
400
pub fn check_of_i32 ( ) {
@@ -423,10 +430,8 @@ mod verify {
423
430
// pub const fn as_nonzero(self) -> NonZero<usize>
424
431
#[ kani:: proof_for_contract( Alignment :: as_nonzero) ]
425
432
pub fn check_as_nonzero ( ) {
426
- let a = kani:: any :: < usize > ( ) ;
427
- if let Some ( alignment) = Alignment :: new ( a) {
428
- let _ = alignment. as_nonzero ( ) ;
429
- }
433
+ let alignment = kani:: any :: < Alignment > ( ) ;
434
+ let _ = alignment. as_nonzero ( ) ;
430
435
}
431
436
432
437
// pub const fn log2(self) -> u32
You can’t perform that action at this time.
0 commit comments