Hi. yeah. If you want to use the data structures and algorithms, I would probably recommend more direct function usage where the functions and data is mostly contained in Rust itself. This will minimize any oddities you have with marshaling any objects that might need to be transferred between each.
Probably stick to data buffer transfers too. Try using aligned memory too if you can - this can actually make copies very fast if they are cache friendly and it should work pretty well. A more complex alternative is to get Rust into the engine itself and provide a mechanism in C++ itself. That would provide great flexibility, but its a bigger process to go through.
All the best with the project. It can be a little tricky sorting out build and link processes between disparate systems.