rust-embedded / cargo-binutils

Cargo subcommands to invoke the LLVM tools shipped with the Rust toolchain
Apache License 2.0
474 stars 41 forks source link

Cargo.lock should not be ignored #99

Closed Stupremee closed 3 years ago

Stupremee commented 3 years ago

The official guide for crates.io/cargo says that the Cargo.lock file shouldn't be pushed for libraries, but should be pushed for binaries. Since this is a binary, it would be nice to have it pushed.

rust-highfive commented 3 years ago

Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @ryankurte (or someone else) soon.

If any changes to this PR are deemed necessary, please add them as extra commits. This ensures that the reviewer can see what has changed since they last reviewed the code. Due to the way GitHub handles out-of-date commits, this should also make it reasonably obvious what issues have or haven't been addressed. Large or tricky changes may require several passes of review and changes.

Please see the contribution instructions for more information.

therealprof commented 3 years ago

We generally don't use Cargo.lock.

Binaries are always supposed to work with the latest compatible semver compatible crates and we cannot verify that upstream promise (with or without Cargo.lock).

Cargo.lock only creates a maintenance burden and in our case without any benefits. NB: If anything tends to create a problem then it's the llvm-tools version used by the installed Rust toolchain and we don't have any control about them.

Of course if someone is interested in providing reproducible and/or curated builds, they're free to add and maintain their own Cargo.lock themselves.

Stupremee commented 3 years ago

Alright, then I will close this PR :+1: