I work on the Protocol Buffers team at Google.
I created upb (a small C protobuf implementation) and Bloaty (an ELF/Mach-O/PE/WASM binary size profiler).
I'm getting more and more spam texts these days. I can imagine a future where texting platforms don't allow cold calls from unknown contacts without an extra token.
The extra token could come from a mutual friend who shared the contact, or an in-person contact exchange.
Rust doesn't seem to have the concept of an internal/private crate. Any dependency of a public crate must also be publicly published on crates.io. There's no way to split a library into multiple crates in a way that is invisible to end users.
File size of a trivial Python extension (Rust/pyo3): 401kB
File size of the protobuf Python extension (C): 277kB
The Rust extension has a single function that adds two numbers.
The C extension implements all of protobuf.
Both figures exclude debug info.
My biggest takeaway from Rust so far is that borrows should be relatively short-lived. While it is possible to put references in a long-lived struct, it creates spiraling complexity and is overall not worth it.
Rust wants structs to own their members.