Skip to content

Commit d69bf5b

Browse files
committed
Add yanked as prior art
1 parent b10592d commit d69bf5b

File tree

1 file changed

+11
-0
lines changed

1 file changed

+11
-0
lines changed

text/3493-precise-pre-release-cargo-update.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,10 @@ This effectively splits the notion of compatibility in `cargo`.
1111
A pre-release version may be considered compatible when the version is explicitly requested with `--precise`.
1212
Cargo will not automatically select that version via a basic `cargo update`.
1313

14+
One way to think of this is that we are changing from the the version
15+
requirements syntax requiring opt-in to match pre-release of higher versions to
16+
the resolver ignoring pre-releases like yanked packages, with an override flag.
17+
1418
# Motivation
1519
[motivation]: #motivation
1620

@@ -147,6 +151,13 @@ This RFC may be a stepping stone in that direction since it lays the groundwork
147151
[RFC: Precise Pre-release Deps](https://github.com/rust-lang/rfcs/pull/3263) aims to solve a similar but different issue where `cargo update` opts to upgrade
148152
pre-release versions to new pre-releases when one is released.
149153

154+
Implementation-wise, this is very similar to how yanked packages work.
155+
- Not selected under normal conditions
156+
- Once its in the lockfile, that gets respected and stays in the lockfile
157+
158+
The only difference being that `--precise` does not allow overriding the "ignore yank" behavior
159+
(though [it is desired by some](https://github.com/rust-lang/cargo/issues/4225)).
160+
150161
# Unresolved questions
151162
[unresolved-questions]: #unresolved-questions
152163

0 commit comments

Comments
 (0)