Impl Foo {extern "C" fn bar(&self) {}}


#1

Imagine if this produced a simplified name mangle

qux.rs
impl Foo {
    extern "C" fn bar(&self) {}
}
produces a C symbol:
   qux_Foo_bar(...)

Given that rust functions aren’t overloaded, you could probably get a long way with this exposing interfaces through C whilst looking decent in rust then we just need to convince C++ to follow suit…

namespace qux { class Foo { extern “C” void bar(); // equivalent: qux_Foo_bar } }