Simpler lifetimes
Two things are making the lifetimes complicated
-
We mirror a lot of data on the Rust side of the interface. I think we need to let the C side hold the data it needs and stop this mirroring.
-
We drag around
world
all over the place for error handling. It feels like we're fighting the Rust error handling. I think we can patch this by usingPETSC_COMM_WORLD
, but it still feels like the error handling is pretty complex.