Hi all.

I am using rust to make some optimizations to my python code. In the process I am learning how to call rust functions form python. I am using pyo3. I need rust to work on some arrays (numpy). I was able to understand simple cffi calls, but couldn’t get any example out there explaining array slices cffi in pyo3.

Here is a working folder of me practicing rust ffi. Here I am trying to implement using vectors from python, which doesn’t compile.

error[E0277]: the size for values of type `[f32]` cannot be known at compilation time --> src/lib.rs:26:1 | 26 | #[pyfunction] | ^^^^^^^^^^^^^ doesn't have a size known at compile-time | = help: the trait `std::marker::Sized` is not implemented for `[f32]` = note: to learn more, visit <https://doc.rust-lang.org/book/second-edition/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait> = note: required because of the requirements on the impl of `pyo3::conversion::FromPyObject<'_>` for `&[f32]` = note: required by `pyo3::objectprotocol::ObjectProtocol::extract` error[E0277]: the trait bound `[f32]: pyo3::typeob::PyTypeInfo` is not satisfied --> src/lib.rs:26:1 | 26 | #[pyfunction] | ^^^^^^^^^^^^^ the trait `pyo3::typeob::PyTypeInfo` is not implemented for `[f32]` | = note: required because of the requirements on the impl of `pyo3::conversion::PyTryFrom` for `[f32]` = note: required because of the requirements on the impl of `pyo3::conversion::FromPyObject<'_>` for `&[f32]` = note: required by `pyo3::objectprotocol::ObjectProtocol::extract` error: aborting due to 2 previous errors

Here is an example of python using rust functions.