@@ -324,17 +324,17 @@ impl<T: ByteViewType + ?Sized> GenericByteViewArray<T> {
324324 /// Caller is responsible for ensuring that the index is within the bounds
325325 /// of the array
326326 pub unsafe fn value_unchecked ( & self , idx : usize ) -> & T :: Native {
327- let v = self . views . get_unchecked ( idx) ;
327+ let v = unsafe { self . views . get_unchecked ( idx) } ;
328328 let len = * v as u32 ;
329329 let b = if len <= MAX_INLINE_VIEW_LEN {
330- Self :: inline_value ( v, len as usize )
330+ unsafe { Self :: inline_value ( v, len as usize ) }
331331 } else {
332332 let view = ByteView :: from ( * v) ;
333- let data = self . buffers . get_unchecked ( view. buffer_index as usize ) ;
333+ let data = unsafe { self . buffers . get_unchecked ( view. buffer_index as usize ) } ;
334334 let offset = view. offset as usize ;
335- data. get_unchecked ( offset..offset + len as usize )
335+ unsafe { data. get_unchecked ( offset..offset + len as usize ) }
336336 } ;
337- T :: Native :: from_bytes_unchecked ( b)
337+ unsafe { T :: Native :: from_bytes_unchecked ( b) }
338338 }
339339
340340 /// Returns the first `len` bytes the inline value of the view.
@@ -345,7 +345,9 @@ impl<T: ByteViewType + ?Sized> GenericByteViewArray<T> {
345345 #[ inline( always) ]
346346 pub unsafe fn inline_value ( view : & u128 , len : usize ) -> & [ u8 ] {
347347 debug_assert ! ( len <= MAX_INLINE_VIEW_LEN as usize ) ;
348- std:: slice:: from_raw_parts ( ( view as * const u128 as * const u8 ) . wrapping_add ( 4 ) , len)
348+ unsafe {
349+ std:: slice:: from_raw_parts ( ( view as * const u128 as * const u8 ) . wrapping_add ( 4 ) , len)
350+ }
349351 }
350352
351353 /// Constructs a new iterator for iterating over the values of this array
@@ -541,7 +543,7 @@ impl<T: ByteViewType + ?Sized> GenericByteViewArray<T> {
541543 #[ inline( always) ]
542544 unsafe fn copy_view_to_buffer ( & self , i : usize , data_buf : & mut Vec < u8 > ) -> u128 {
543545 // SAFETY: `i < self.len()` ensures this is in‑bounds.
544- let raw_view = * self . views ( ) . get_unchecked ( i) ;
546+ let raw_view = unsafe { * self . views ( ) . get_unchecked ( i) } ;
545547 let mut bv = ByteView :: from ( raw_view) ;
546548
547549 // Inline‑small views stay as‑is.
@@ -550,10 +552,10 @@ impl<T: ByteViewType + ?Sized> GenericByteViewArray<T> {
550552 } else {
551553 // SAFETY: `bv.buffer_index` and `bv.offset..bv.offset+bv.length`
552554 // must both lie within valid ranges for `self.buffers`.
553- let buffer = self . buffers . get_unchecked ( bv. buffer_index as usize ) ;
555+ let buffer = unsafe { self . buffers . get_unchecked ( bv. buffer_index as usize ) } ;
554556 let start = bv. offset as usize ;
555557 let end = start + bv. length as usize ;
556- let slice = buffer. get_unchecked ( start..end) ;
558+ let slice = unsafe { buffer. get_unchecked ( start..end) } ;
557559
558560 // Copy out‑of‑line data into our single “0” buffer.
559561 let new_offset = data_buf. len ( ) as u32 ;
@@ -624,10 +626,10 @@ impl<T: ByteViewType + ?Sized> GenericByteViewArray<T> {
624626 right : & GenericByteViewArray < T > ,
625627 right_idx : usize ,
626628 ) -> Ordering {
627- let l_view = left. views ( ) . get_unchecked ( left_idx) ;
629+ let l_view = unsafe { left. views ( ) . get_unchecked ( left_idx) } ;
628630 let l_byte_view = ByteView :: from ( * l_view) ;
629631
630- let r_view = right. views ( ) . get_unchecked ( right_idx) ;
632+ let r_view = unsafe { right. views ( ) . get_unchecked ( right_idx) } ;
631633 let r_byte_view = ByteView :: from ( * r_view) ;
632634
633635 let l_len = l_byte_view. length ;
@@ -853,7 +855,7 @@ impl<'a, T: ByteViewType + ?Sized> ArrayAccessor for &'a GenericByteViewArray<T>
853855 }
854856
855857 unsafe fn value_unchecked ( & self , index : usize ) -> Self :: Item {
856- GenericByteViewArray :: value_unchecked ( self , index)
858+ unsafe { GenericByteViewArray :: value_unchecked ( self , index) }
857859 }
858860}
859861
@@ -999,7 +1001,7 @@ impl BinaryViewArray {
9991001 /// # Safety
10001002 /// Caller is responsible for ensuring that items in array are utf8 data.
10011003 pub unsafe fn to_string_view_unchecked ( self ) -> StringViewArray {
1002- StringViewArray :: new_unchecked ( self . views , self . buffers , self . nulls )
1004+ unsafe { StringViewArray :: new_unchecked ( self . views , self . buffers , self . nulls ) }
10031005 }
10041006}
10051007
@@ -1171,7 +1173,10 @@ mod tests {
11711173 builder. finish ( )
11721174 } ;
11731175 assert_eq ! ( array. value( 0 ) , "large payload over 12 bytes" ) ;
1174- assert_eq ! ( array. value( 1 ) , "another large payload over 12 bytes that double than the first one, so that we can trigger the in_progress in builder re-created" ) ;
1176+ assert_eq ! (
1177+ array. value( 1 ) ,
1178+ "another large payload over 12 bytes that double than the first one, so that we can trigger the in_progress in builder re-created"
1179+ ) ;
11751180 assert_eq ! ( 2 , array. buffers. len( ) ) ;
11761181 }
11771182
0 commit comments