RFC: Support versioned dependencies on build tools, such as cargo #1707
Heh, I was just about to write something like this. I think rather than working on tools, this should work on languages, i.e. the Cargo.toml language and Rust itself.
Since Cargo is pre 1.0 (officially), we don't have much leeway to leverage Cargo's own semver (no non-breaking minor changes) But since crates.io is live it's definitely safe to say w are on >=1.0 for the Cargo.toml language.
Likewise, other Rust compilers may want to be versioned differently, so it's best to separate language and compiler version. See #1133 for how @brson wanted to have compilers specify the language version.
My motivation, and initial idea of implementation, were sufficiently different that I wrote a separate RFC #1709 . Feel free to take the motivation and adapt it for this one however.
How about some crate that simplifies the task of checking that in build.rs?
@Ericson2314 I like the concept of RFC #1709, but I'd suggest using the dependency syntax as this RFC does, for the same reason discussed in the alternatives section here: doing so allows it to appear anywhere a dependency can appear, such as in dev-dependencies, or platform-specific dependencies, or named-feature-specific dependencies. So, what about lang:rust or similar?
@KalitaAlexey I'd like something completely declarative that Cargo can check in advance, rather than something checked by build.rs at build time. A declarative dependency on tool:cargo, for instance, could easily become a Debian Build-Depends on the cargo package.
Rendered