@@ -383,21 +383,26 @@ It would not be possible to upgrade to `0.2.0-pre.0` from `0.1.1` in the same wa
383
383
384
384
* Tracking Issue: [ #12425 ] ( https://github.com/rust-lang/cargo/issues/12425 )
385
385
386
- This feature allows upgrading dependencies to breaking versions with
387
- ` update --breaking` .
386
+ Allow upgrading dependencies version requirements in ` Cargo.toml ` across SemVer
387
+ incompatible versions using with the ` --breaking ` flag .
388
388
389
- This is essentially migrating ` cargo upgrade ` from ` cargo-edit ` into Cargo itself,
390
- and involves making changes to the ` Cargo.toml ` manifests, not just the lock file.
389
+ This only applies to dependencies when
390
+ - The package is a dependency of a workspace member
391
+ - The dependency is not renamed
392
+ - A SemVer-incompatible version is available
393
+ - The "SemVer operator" is used (` ^ ` which is the default)
391
394
392
- When doing a breaking update, Cargo will keep all non-breaking dependencies
393
- unchanged. It will also not change any dependencies that use a different version
394
- operator than the default caret. Also, it will not upgrade any renamed package
395
- dependencies. Example:
395
+ Users may further restrict which packages get upgraded by specifying them on
396
+ the command line.
396
397
397
- ``` sh
398
- cargo +nightly update --breaking -Z unstable-options
398
+ Example:
399
+ ``` console
400
+ $ cargo +nightly -Zunstable-options update --breaking
401
+ $ cargo +nightly -Zunstable-options update --breaking clap
399
402
```
400
403
404
+ * This is meant to fill a similar role as [ cargo-upgrade] ( https://github.com/killercup/cargo-edit/ ) *
405
+
401
406
## build-std
402
407
* Tracking Repository: < https://github.com/rust-lang/wg-cargo-std-aware >
403
408
0 commit comments