@@ -157,8 +157,10 @@ impl Deserializer for Portable {
157157
158158 #[ doc( alias = "roaring_bitmap_portable_deserialize" ) ]
159159 unsafe fn try_deserialize_unchecked ( buffer : & [ u8 ] ) -> Bitmap {
160- let bitmap = ffi:: roaring_bitmap_portable_deserialize ( buffer. as_ptr ( ) . cast :: < c_char > ( ) ) ;
161- Bitmap :: take_heap ( bitmap)
160+ unsafe {
161+ let bitmap = ffi:: roaring_bitmap_portable_deserialize ( buffer. as_ptr ( ) . cast :: < c_char > ( ) ) ;
162+ Bitmap :: take_heap ( bitmap)
163+ }
162164 }
163165}
164166
@@ -175,13 +177,15 @@ impl ViewDeserializer for Portable {
175177 ///
176178 #[ doc( alias = "roaring_bitmap_portable_deserialize_frozen" ) ]
177179 unsafe fn deserialize_view ( data : & [ u8 ] ) -> BitmapView < ' _ > {
178- // portable_deserialize_size does some amount of checks, and returns zero if data cannot be valid
179- debug_assert_ne ! (
180- ffi:: roaring_bitmap_portable_deserialize_size( data. as_ptr( ) . cast( ) , data. len( ) ) ,
181- 0 ,
182- ) ;
183- let roaring = ffi:: roaring_bitmap_portable_deserialize_frozen ( data. as_ptr ( ) . cast ( ) ) ;
184- BitmapView :: take_heap ( roaring)
180+ unsafe {
181+ // portable_deserialize_size does some amount of checks, and returns zero if data cannot be valid
182+ debug_assert_ne ! (
183+ ffi:: roaring_bitmap_portable_deserialize_size( data. as_ptr( ) . cast( ) , data. len( ) ) ,
184+ 0 ,
185+ ) ;
186+ let roaring = ffi:: roaring_bitmap_portable_deserialize_frozen ( data. as_ptr ( ) . cast ( ) ) ;
187+ BitmapView :: take_heap ( roaring)
188+ }
185189 }
186190}
187191
@@ -226,8 +230,10 @@ impl Deserializer for Native {
226230
227231 #[ doc( alias = "roaring_bitmap_deserialize" ) ]
228232 unsafe fn try_deserialize_unchecked ( buffer : & [ u8 ] ) -> Bitmap {
229- let bitmap = ffi:: roaring_bitmap_deserialize ( buffer. as_ptr ( ) . cast :: < c_void > ( ) ) ;
230- Bitmap :: take_heap ( bitmap)
233+ unsafe {
234+ let bitmap = ffi:: roaring_bitmap_deserialize ( buffer. as_ptr ( ) . cast :: < c_void > ( ) ) ;
235+ Bitmap :: take_heap ( bitmap)
236+ }
231237 }
232238}
233239
@@ -261,9 +267,11 @@ impl ViewDeserializer for Frozen {
261267 ///
262268 /// See [`BitmapView::deserialize`] for examples.
263269 unsafe fn deserialize_view ( data : & [ u8 ] ) -> BitmapView < ' _ > {
264- assert_eq ! ( data. as_ptr( ) as usize % Self :: REQUIRED_ALIGNMENT , 0 ) ;
270+ unsafe {
271+ assert_eq ! ( data. as_ptr( ) as usize % Self :: REQUIRED_ALIGNMENT , 0 ) ;
265272
266- let roaring = ffi:: roaring_bitmap_frozen_view ( data. as_ptr ( ) . cast ( ) , data. len ( ) ) ;
267- BitmapView :: take_heap ( roaring)
273+ let roaring = ffi:: roaring_bitmap_frozen_view ( data. as_ptr ( ) . cast ( ) , data. len ( ) ) ;
274+ BitmapView :: take_heap ( roaring)
275+ }
268276 }
269277}
0 commit comments