@@ -3881,8 +3881,7 @@ unsafe impl<'a, T> TrustedRandomAccess for ExactChunksMut<'a, T> {
3881
3881
#[ stable( feature = "rust1" , since = "1.0.0" ) ]
3882
3882
pub unsafe fn from_raw_parts < ' a , T > ( data : * const T , len : usize ) -> & ' a [ T ] {
3883
3883
debug_assert ! ( data as usize % mem:: align_of:: <T >( ) == 0 , "attempt to create unaligned slice" ) ;
3884
- let size = mem:: size_of :: < T > ( ) ;
3885
- debug_assert ! ( size == 0 || len < ( isize :: MAX as usize + size - 1 ) / size,
3884
+ debug_assert ! ( mem:: size_of:: <T >( ) . saturating_mul( len) <= isize :: MAX as usize ,
3886
3885
"attempt to create slice covering half the address space" ) ;
3887
3886
Repr { raw : FatPtr { data, len } } . rust
3888
3887
}
@@ -3905,8 +3904,7 @@ pub unsafe fn from_raw_parts<'a, T>(data: *const T, len: usize) -> &'a [T] {
3905
3904
#[ stable( feature = "rust1" , since = "1.0.0" ) ]
3906
3905
pub unsafe fn from_raw_parts_mut < ' a , T > ( data : * mut T , len : usize ) -> & ' a mut [ T ] {
3907
3906
debug_assert ! ( data as usize % mem:: align_of:: <T >( ) == 0 , "attempt to create unaligned slice" ) ;
3908
- let size = mem:: size_of :: < T > ( ) ;
3909
- debug_assert ! ( size == 0 || len < ( isize :: MAX as usize + size - 1 ) / size,
3907
+ debug_assert ! ( mem:: size_of:: <T >( ) . saturating_mul( len) <= isize :: MAX as usize ,
3910
3908
"attempt to create slice covering half the address space" ) ;
3911
3909
Repr { raw : FatPtr { data, len } } . rust_mut
3912
3910
}
0 commit comments