-
Notifications
You must be signed in to change notification settings - Fork 2.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
doc: nudge towards simple version requirements #10158
Conversation
r? @Eh2406 (rust-highfive has picked a reviewer for you, use r? to override) |
string does not have any operators in it, it is interpreted the same way as | ||
if we had specified `"^0.1.12"`, which is called a caret requirement. | ||
|
||
[semver]: https://github.com/steveklabnik/semver#requirements |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This link is now dead, and the new docs actually refer to this document to explain how requirements work 🤣
Co-authored-by: Weihang Lo <[email protected]>
Thanks, this looks good! Would you mind making a few other minor updates related to this?
There are a few places where these can link. I'll leave it up to you to decide, but some options are:
|
Updated and also filed #10169 for the possible follow up. It seems that the core problem here is that there's simply isn't an official spec for requirements. |
Thanks! @bors r+ |
📌 Commit ec3909e has been approved by |
☀️ Test successful - checks-actions |
Update cargo 8 commits in 294967c53f0c70d598fc54ca189313c86c576ea7..40dc281755137ee804bc9b3b08e782773b726e44 2021-11-29 19:04:22 +0000 to 2021-12-06 21:54:44 +0000 - Unify the description of quiet flag (rust-lang/cargo#10168) - Stabilize future-incompat-report (rust-lang/cargo#10165) - Support abbreviating `--release` as `-r` (rust-lang/cargo#10133) - doc: nudge towards simple version requirements (rust-lang/cargo#10158) - Upgrade clap to 2.34.0 (rust-lang/cargo#10164) - Treat EOPNOTSUPP the same as ENOTSUP when ignoring failed flock calls. (rust-lang/cargo#10157) - Add note about RUSTFLAGS removal from build scripts. (rust-lang/cargo#10141) - Make clippy happy (rust-lang/cargo#10139)
Update cargo 8 commits in 294967c53f0c70d598fc54ca189313c86c576ea7..40dc281755137ee804bc9b3b08e782773b726e44 2021-11-29 19:04:22 +0000 to 2021-12-06 21:54:44 +0000 - Unify the description of quiet flag (rust-lang/cargo#10168) - Stabilize future-incompat-report (rust-lang/cargo#10165) - Support abbreviating `--release` as `-r` (rust-lang/cargo#10133) - doc: nudge towards simple version requirements (rust-lang/cargo#10158) - Upgrade clap to 2.34.0 (rust-lang/cargo#10164) - Treat EOPNOTSUPP the same as ENOTSUP when ignoring failed flock calls. (rust-lang/cargo#10157) - Add note about RUSTFLAGS removal from build scripts. (rust-lang/cargo#10141) - Make clippy happy (rust-lang/cargo#10139)
Update cargo 8 commits in 294967c53f0c70d598fc54ca189313c86c576ea7..40dc281755137ee804bc9b3b08e782773b726e44 2021-11-29 19:04:22 +0000 to 2021-12-06 21:54:44 +0000 - Unify the description of quiet flag (rust-lang/cargo#10168) - Stabilize future-incompat-report (rust-lang/cargo#10165) - Support abbreviating `--release` as `-r` (rust-lang/cargo#10133) - doc: nudge towards simple version requirements (rust-lang/cargo#10158) - Upgrade clap to 2.34.0 (rust-lang/cargo#10164) - Treat EOPNOTSUPP the same as ENOTSUP when ignoring failed flock calls. (rust-lang/cargo#10157) - Add note about RUSTFLAGS removal from build scripts. (rust-lang/cargo#10141) - Make clippy happy (rust-lang/cargo#10139)
Update cargo 8 commits in 294967c53f0c70d598fc54ca189313c86c576ea7..40dc281755137ee804bc9b3b08e782773b726e44 2021-11-29 19:04:22 +0000 to 2021-12-06 21:54:44 +0000 - Unify the description of quiet flag (rust-lang/cargo#10168) - Stabilize future-incompat-report (rust-lang/cargo#10165) - Support abbreviating `--release` as `-r` (rust-lang/cargo#10133) - doc: nudge towards simple version requirements (rust-lang/cargo#10158) - Upgrade clap to 2.34.0 (rust-lang/cargo#10164) - Treat EOPNOTSUPP the same as ENOTSUP when ignoring failed flock calls. (rust-lang/cargo#10157) - Add note about RUSTFLAGS removal from build scripts. (rust-lang/cargo#10141) - Make clippy happy (rust-lang/cargo#10139)
Cargo is very ingeniously designed such that the simplest thing you can do when sepcifying a dependency,
time = "1.2.3"
, is also the best thing you can do. However, new Rust folks often overthink this, and use more verbose syntaxes, which at best is unnecessary, and and at worst creates pains downstream. For example, https://github.com/elastic/elasticsearch-rs/blob/master/elasticsearch/Cargo.toml contains a mistrue of default,~
and^
requirements, which lets the reader wondering what's going on.Let's try to help the situation by focusing on default requirements in the docs