@@ -124,7 +124,6 @@ impl Layout {
124
124
#[ requires( align > 0 ) ]
125
125
#[ requires( ( align & ( align - 1 ) ) == 0 ) ]
126
126
#[ requires( size <= isize :: MAX as usize - ( align - 1 ) ) ]
127
- #[ rustc_diagnostic_item = "from_size_align_unchecked" ]
128
127
pub const unsafe fn from_size_align_unchecked ( size : usize , align : usize ) -> Self {
129
128
// SAFETY: the caller is required to uphold the preconditions.
130
129
unsafe { Layout { size, align : Alignment :: new_unchecked ( align) } }
@@ -505,19 +504,20 @@ impl fmt::Display for LayoutError {
505
504
#[ unstable( feature="kani" , issue="none" ) ]
506
505
mod verify {
507
506
use super :: * ;
508
- use crate :: kani;
509
507
510
- #[ kani:: proof_for_contract( from_size_align_unchecked) ]
508
+ #[ kani:: proof_for_contract( Layout :: from_size_align_unchecked) ]
511
509
pub fn check_from_size_align_unchecked ( ) {
512
510
let s = kani:: any :: < usize > ( ) ;
513
511
let shift_index = kani:: any :: < u8 > ( ) ;
514
512
let a : usize = 1 << shift_index;
515
513
516
514
kani:: assume ( a > 0 ) ;
517
- // kani::assume(s <= isize::MAX as usize - (a - 1));
515
+ kani:: assume ( s <= isize:: MAX as usize - ( a - 1 ) ) ;
518
516
519
- let layout = from_size_align_unchecked ( s, a) ;
520
- assert_eq ! ( layout. size( ) , s) ;
521
- assert_eq ! ( layout. align( ) , a) ;
517
+ unsafe {
518
+ let layout = Layout :: from_size_align_unchecked ( s, a) ;
519
+ assert_eq ! ( layout. size( ) , s) ;
520
+ assert_eq ! ( layout. align( ) , a) ;
521
+ }
522
522
}
523
523
}
0 commit comments