mirror of
https://github.com/rust-lang/cargo
synced 2024-08-28 11:50:23 +00:00
![Alex Crichton](/assets/img/avatar_default.png)
This commit updates the `cargo fix` implementation to iteratively apply fixes from the compiler instead of only once. Currently the compiler can sometimes emit overlapping suggestions, such as in the case of transitioning ::foo::<::Bar>(); to ... crate::foo::<crate::Bar>(); and `rustfix` rightfully can't handle overlapping suggestions as there's no clear way of how to disambiguate the fixes. To fix this problem Cargo will now run `rustc` and `rustfix` multiple times, attempting to reach a steady state where no fixes failed to apply. Naturally this is a pretty tricky thing to do and we want to be sure that Cargo doesn't loop forever, for example. A number of safeguards are in place to prevent Cargo from going off into the weeds when fixing files, notably avoiding to reattempt fixes if no successful fixes ended up being applied. Closes #5813 Closes rust-lang/rust#52754
97 lines
1.9 KiB
TOML
97 lines
1.9 KiB
TOML
[package]
|
|
name = "cargo"
|
|
version = "0.30.0"
|
|
authors = ["Yehuda Katz <wycats@gmail.com>",
|
|
"Carl Lerche <me@carllerche.com>",
|
|
"Alex Crichton <alex@alexcrichton.com>"]
|
|
license = "MIT OR Apache-2.0"
|
|
homepage = "https://crates.io"
|
|
repository = "https://github.com/rust-lang/cargo"
|
|
documentation = "https://docs.rs/cargo"
|
|
description = """
|
|
Cargo, a package manager for Rust.
|
|
"""
|
|
|
|
[lib]
|
|
name = "cargo"
|
|
path = "src/cargo/lib.rs"
|
|
|
|
[dependencies]
|
|
atty = "0.2"
|
|
crates-io = { path = "src/crates-io", version = "0.18" }
|
|
crossbeam-utils = "0.5"
|
|
crypto-hash = "0.3.1"
|
|
curl = "0.4.13"
|
|
env_logger = "0.5.4"
|
|
failure = "0.1.1"
|
|
filetime = "0.2"
|
|
flate2 = "1.0"
|
|
fs2 = "0.4"
|
|
git2 = "0.7.3"
|
|
git2-curl = "0.8.1"
|
|
glob = "0.2.11"
|
|
hex = "0.3"
|
|
home = "0.3"
|
|
ignore = "0.4"
|
|
lazy_static = "1.0.0"
|
|
jobserver = "0.1.11"
|
|
lazycell = "1.0"
|
|
libc = "0.2"
|
|
log = "0.4"
|
|
libgit2-sys = "0.7.5"
|
|
num_cpus = "1.0"
|
|
rustfix = "0.4.2"
|
|
same-file = "1"
|
|
semver = { version = "0.9.0", features = ["serde"] }
|
|
serde = "1.0"
|
|
serde_derive = "1.0"
|
|
serde_ignored = "0.0.4"
|
|
serde_json = "1.0"
|
|
shell-escape = "0.1"
|
|
tar = { version = "0.4.15", default-features = false }
|
|
tempfile = "3.0"
|
|
termcolor = "1.0"
|
|
toml = "0.4.2"
|
|
url = "1.1"
|
|
clap = "2.31.2"
|
|
unicode-width = "0.1.5"
|
|
|
|
# Not actually needed right now but required to make sure that rls/cargo build
|
|
# with the same set of features in rust-lang/rust
|
|
num-traits = "0.2" # enable the default feature
|
|
|
|
[target.'cfg(target_os = "macos")'.dependencies]
|
|
core-foundation = { version = "0.6.0", features = ["mac_os_10_7_support"] }
|
|
|
|
[target.'cfg(windows)'.dependencies]
|
|
miow = "0.3.1"
|
|
|
|
[target.'cfg(windows)'.dependencies.winapi]
|
|
version = "0.3"
|
|
features = [
|
|
"basetsd",
|
|
"handleapi",
|
|
"jobapi",
|
|
"jobapi2",
|
|
"memoryapi",
|
|
"minwindef",
|
|
"ntdef",
|
|
"ntstatus",
|
|
"processenv",
|
|
"processthreadsapi",
|
|
"psapi",
|
|
"synchapi",
|
|
"winerror",
|
|
"winbase",
|
|
"wincon",
|
|
"winnt",
|
|
]
|
|
|
|
[dev-dependencies]
|
|
bufstream = "0.1"
|
|
|
|
[[bin]]
|
|
name = "cargo"
|
|
test = false
|
|
doc = false
|