Porting mozjpeg to Rust ($10k gig)

I feel some responsibility for your plight, because I think Rust should be able to interoperate with existing libraries that use standard non-local control flow constructs, and I've taken on a small part of the burden of trying to make that happen (more on that below) but sadly haven't been as diligent in making progress on that front as I hoped to be.

Are you aware of the existing discussions about Rust wrappers around mozjpeg? If not, the relevant part for your purposes is that this is undefined behavior, but in theory it should be possible to make it work reliably and in a well-defined way, and in many cases it should already work (and has been used successfully).

Here's an existing library with mozjpeg bindings: GitHub - kornelski/mozjpeg-sys: Rust bindings for mozjpeg

If you're interested, here is the discussion about making its behavior well-defined: Unwinding through FFI after Rust 1.33 - language design - Rust Internals

And here is my effort to make an RFC based on that discussion: https://github.com/rust-lang/rfcs/pull/2699

3 Likes