> I would like tools that call C code from rust, but with slices etc instead of pointers.
A slice is just a bundle of pointer + size. C raw interfaces vary on how they express the "size" part, so the point of wrapping is translating that information into whatever bespoke way is expected by the code you're working with.
Good insight! I guess I don't really understand why we can't use native types then. I don't want to keep having to write these:
) { // void arm_fir_q31 ( // const arm_fir_instance_q31 * S, // const float32_t * pSrc, // float32_t * pDst, // uint32_t blockSize // ) // Parameters // [in] S points to an instance of the floating-point FIR filter structure // [in] pSrc points to the block of input data // [out] pDst points to the block of output data // [in] blockSize number of samples to process // Returns none