Rust is not a good C replacement
@bb010g Thanks. The comments on that PR elaborate a lot on this subject. This post especially https://github.com/mesonbuild/meson/pull/2617#issuecomment-379417837
@curls You're welcome. It's a hard problem. as someone who's dabbled a fair amount with Nix and packaging for Nixpkgs, the tradeoffs between integrated tools and experiences like Cargo and "larger" build systems like Meson or Bazel are difficult. you want the easy things for developers to be the right things, but that makes more effort for others. Cargo has been getting better about telling you what it wants to do, but you won't ever be free without a maintained reimplementation.
@curls cargo evolves to better serve developers over time along with a language that tries to move past poor design decisions (not removing them outright, but discouraging them in new code). Meson is based on a language where there's never been a really good build system, and it has less to chase and grow compatibility for. I don't see a generic solution in the future outside of a nix-like build system that combines sandboxed execution of whatever with bits of custom glue code.
@bb010g I am a bit fuzzy about the details, as I have no experience with rust, but it seems like cargo is missing features that besides hindering integration, just make it less robust in general. It makes me apprehensive to learn rust in the first place, knowing that realistically Cargo is the only build system I could ever use.