> Given the language's many high level abstractions, I think it's likely we'll see a repeat of the C++ situation above.
The goals in the OP seem to suggest that the objective is not to have a bespoke ABI that encapsulates the entire Rust language, but rather to build a relatively minor shim on top of the existing C ABI that supports some useful Rust patterns (e.g. Option, Result) which should be possible to express straightforwardly in many languages. If this effort succeeds then I can absolutely see it supplanting the C ABI for at least the dynamically-loaded-Rust-from-Rust use case.
The goals in the OP seem to suggest that the objective is not to have a bespoke ABI that encapsulates the entire Rust language, but rather to build a relatively minor shim on top of the existing C ABI that supports some useful Rust patterns (e.g. Option, Result) which should be possible to express straightforwardly in many languages. If this effort succeeds then I can absolutely see it supplanting the C ABI for at least the dynamically-loaded-Rust-from-Rust use case.