We interfaced single-threaded C++ with multi-threaded Rust

5 comments

Hi, I (Shuxian) worked with Michael on this project. Happy to answer any questions! We'll also post a followup next week on formally verifying our unsafe primitives in the style of RustBelt (https://plv.mpi-sws.org/rustbelt), if that interests you.

It would be more interesting if it was on how to combine C++20 co-routines with Rust async-await models.

Combining single-threaded C++ with multi-threaded languages has been a thing for quite some time.

I have done this integrating wasmtime into a a C++ seastar.io application. I’ll have to write a post about it

Wow, I wouldn't have thought that it would be possible to do this (at least, not ergonomically, although now that you mention it I guess I don't see why not). That would be amazing to see.

I'm the author.

Thanks for the interest; I've never had a post on Hacker News before.

I'm happy to answer any questions.

Pretty sure I’ve done similar, combined a Rust multi-threaded emulator with single threaded SystemC simulation

do tell!

Seems like objc2 crate uses same approach (MainThreadMarker).