I still don't understand "cargo upgrade"
⚓ Rust 📅 2026-03-14 👤 surdeus 👁️ 7My rough understanding was, that cargo update does a compatible update of Cargo.toml, cargo upgrades is looking for available updates, and finally cargo upgrade makes all upgrades, but might ask for a flag for incompatible versions.
But what I typically get is
stefan@hx90 /tmp/xilem-chess $ cat Cargo.toml
[package]
name = "xilem-chess"
version = "0.5.0"
edition = "2024"
[dependencies]
num-traits = "0.2.19"
tokio = "1.49.0"
winit = "0.30.12"
#xilem = { git = "https://github.com/linebender/xilem.git", rev = "5281ffb308732b00f42e0755c6095b6ae234ae16" }
#xilem_core = { git = "https://github.com/linebender/xilem.git", rev = "5281ffb308732b00f42e0755c6095b6ae234ae16" }
#masonry = { git = "https://github.com/linebender/xilem.git", rev = "5281ffb308732b00f42e0755c6095b6ae234ae16" }
#masonry_winit = { git = "https://github.com/linebender/xilem.git", rev = "5281ffb308732b00f42e0755c6095b6ae234ae16" }
xilem = { git = "https://github.com/linebender/xilem.git"}
xilem_core = { git = "https://github.com/linebender/xilem.git"}
masonry = { git = "https://github.com/linebender/xilem.git"}
masonry_winit = { git = "https://github.com/linebender/xilem.git"}
[profile.dev]
opt-level = 2
[profile.release]
opt-level = 2
#codegen-units = 1
strip = true # Automatically strip symbols from the binary.
lto = false
panic = "abort"
[features]
salewskiChessDebug = []
stefan@hx90 /tmp/xilem-chess $ cargo upgrades
All dependencies match up-to-date releases.
Run `cargo update` to update to latest release.
stefan@hx90 /tmp/xilem-chess $ cargo update
Updating git repository `https://github.com/linebender/xilem.git`
Updating crates.io index
Locking 0 packages to latest Rust 1.94.0 compatible versions
stefan@hx90 /tmp/xilem-chess $ cargo upgrade
Checking xilem-chess's dependencies
name old req compatible latest new req
==== ======= ========== ====== =======
tokio 1.49.0 1.50.0 1.50.0 1.50.0
winit 0.30.12 0.30.13 0.30.13 0.30.13
Upgrading git dependencies
Locking 0 packages to latest Rust 1.94.0 compatible versions
Upgrading recursive dependencies
Locking 0 packages to latest Rust 1.94.0 compatible versions
note: Re-run with `--verbose` to show more dependencies
git: 4 packages
latest: num-traits
stefan@hx90 /tmp/xilem-chess $ cat Cargo.toml
[package]
name = "xilem-chess"
version = "0.5.0"
edition = "2024"
[dependencies]
num-traits = "0.2.19"
tokio = "1.50.0"
winit = "0.30.13"
#xilem = { git = "https://github.com/linebender/xilem.git", rev = "5281ffb308732b00f42e0755c6095b6ae234ae16" }
#xilem_core = { git = "https://github.com/linebender/xilem.git", rev = "5281ffb308732b00f42e0755c6095b6ae234ae16" }
#masonry = { git = "https://github.com/linebender/xilem.git", rev = "5281ffb308732b00f42e0755c6095b6ae234ae16" }
#masonry_winit = { git = "https://github.com/linebender/xilem.git", rev = "5281ffb308732b00f42e0755c6095b6ae234ae16" }
xilem = { git = "https://github.com/linebender/xilem.git"}
xilem_core = { git = "https://github.com/linebender/xilem.git"}
masonry = { git = "https://github.com/linebender/xilem.git"}
masonry_winit = { git = "https://github.com/linebender/xilem.git"}
[profile.dev]
opt-level = 2
[profile.release]
opt-level = 2
#codegen-units = 1
strip = true # Automatically strip symbols from the binary.
lto = false
panic = "abort"
[features]
salewskiChessDebug = []
stefan@hx90 /tmp/xilem-chess $
So often cargo upgrades tells me there is nothing to do. But then cargo upgrade still is able to do upgrades.
2 posts - 2 participants
🏷️ Rust_feed