On Tue, Feb 27, 2024 at 10:56 PM Daniel Almeida <daniel.almeida@xxxxxxxxxxxxx> wrote: > > +#[no_mangle] > +pub extern "C" fn v4l2_vp9_seg_feat_enabled_rs( > + feature_enabled: &mut u8, > + feature: u32, > + segid: u32, > +) -> bool { > + let feature_enabled = unsafe { core::slice::from_raw_parts_mut(feature_enabled, 8) }; > + let mask = 1 << feature; > + feature_enabled[segid as usize] & mask != 0 > +} This seems to be the only unsafe block. Impressive! I recommend taking an `*mut u8` here instead of `&mut u8` if you're going to use `slice::from_raw_parts_mut`. Or, if cbindgen allows it, take an `&mut [u8; 8]` instead and eliminate the unsafe block. Alice