@ansuz @cwebber luckily, this is slowly being reverted, in some ways, look at the export attributes and extern crabi rfcs, though I'm not sure about the name of the first one. Thing is, we don't want to rewrite your entire program in rust, but the reason for which it's harder to use dynamic linking in this context is that we don't want to submit to guaranteeing ABI stability, in order to allow maximum leaway for the compiler team or the compiler itself to perform optimisations. Of course, this means that, checksum wise, no two builds would ever be the same, as the compiler might have optimised some things differently. You can always make your crate cdylib and link with it from c, but you have to export the functions manually, upholding the invariants as best as you can. I mean, c++ has to declare something like that, so does swift, which managed better than rust in this regard so I dk what else we could do