tialaramex
5 hours ago
For the fairly trivial cases I can see how this works. Rust constructs the appropriate Fil-C style shadow data at the ABI edges, fires some hooks, and there's some Fil-C compatible layer in Rust [like that introduced recently to provide FFI for variadic functions with a C ABI] in the other direction so your Rust can do the runtime checking Fil-C needs instead of the compile time checks Rust would expect.
I think that's going to be a lot clunkier than typing `extern "fil-C"` in practice, but I can see how it would work. I think it chokes to death pretty quickly for a more sophisticated integration though because that clunk grows exponentially.