Skip to content

Commit

Permalink
Prefer dependency.workspace = true to `dependency = { workspace = t…
Browse files Browse the repository at this point in the history
…rue }` when only specifying `{ workspace = true }`
  • Loading branch information
Muscraft committed Apr 20, 2022
1 parent ea79548 commit a18b97f
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 20 deletions.
5 changes: 3 additions & 2 deletions src/cargo/util/toml/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -130,8 +130,9 @@ pub fn read_manifest_from_str(
}
if let TomlDependency::Workspace(_) = dep {
bail!(
"`workspace.dependencies.{}` specified `{{ workspace = true }}`, but \
workspace dependencies cannot do this",
"{} was specified as `workspace.dependencies.{}.workspace = true`, but \
workspace dependencies cannot specify `workspace = true`",
name,
name
);
}
Expand Down
4 changes: 2 additions & 2 deletions src/doc/src/reference/unstable.md
Original file line number Diff line number Diff line change
Expand Up @@ -1432,8 +1432,8 @@ wasm-bindgen-cli = { path = "crates/cli" }
```toml
# in a workspace member's Cargo.toml
[dependencies]
log = { workspace = true }
log2 = { workspace = true }
log.workspace = true
log2.workspace = true
```

Example 2:
Expand Down
32 changes: 16 additions & 16 deletions tests/testsuite/inheritable_workspace_fields.rs
Original file line number Diff line number Diff line change
Expand Up @@ -251,13 +251,13 @@ fn inherit_own_dependencies() {
authors = []
[dependencies]
dep = { workspace = true }
dep.workspace = true
[build-dependencies]
dep-build = { workspace = true }
dep-build.workspace = true
[dev-dependencies]
dep-dev = { workspace = true }
dep-dev.workspace = true
[workspace]
members = []
Expand Down Expand Up @@ -393,7 +393,7 @@ fn inherit_own_detailed_dependencies() {
authors = []
[dependencies]
dep = { workspace = true }
dep.workspace = true
[workspace]
members = []
Expand Down Expand Up @@ -758,11 +758,11 @@ fn inherit_dependencies() {
version = "0.2.0"
authors = []
[dependencies]
dep = { workspace = true }
dep.workspace = true
[build-dependencies]
dep-build = { workspace = true }
dep-build.workspace = true
[dev-dependencies]
dep-dev = { workspace = true }
dep-dev.workspace = true
"#,
)
.file("bar/src/main.rs", "fn main() {}")
Expand Down Expand Up @@ -901,9 +901,9 @@ fn inherit_target_dependencies() {
version = "0.2.0"
authors = []
[target.'cfg(unix)'.dependencies]
dep = { workspace = true }
dep.workspace = true
[target.'cfg(windows)'.dependencies]
dep = { workspace = true }
dep.workspace = true
"#,
)
.file("bar/src/main.rs", "fn main() {}")
Expand Down Expand Up @@ -1071,7 +1071,7 @@ fn inherit_detailed_dependencies() {
version = "0.2.0"
authors = []
[dependencies]
detailed = { workspace = true }
detailed.workspace = true
"#,
)
.file("bar/src/main.rs", "fn main() {}")
Expand Down Expand Up @@ -1116,7 +1116,7 @@ fn inherit_path_dependencies() {
version = "0.2.0"
authors = []
[dependencies]
dep = { workspace = true }
dep.workspace = true
"#,
)
.file("bar/src/main.rs", "fn main() {}")
Expand Down Expand Up @@ -1200,13 +1200,13 @@ fn error_workspace_dependency_looked_for_workspace_itself() {
workspace = ".."
[dependencies]
dep = { workspace = true }
dep.workspace = true
[workspace]
members = ["bar"]
[workspace.dependencies]
dep = { workspace = true }
dep.workspace = true
"#,
)
Expand All @@ -1221,8 +1221,8 @@ fn error_workspace_dependency_looked_for_workspace_itself() {
[ERROR] failed to parse manifest at `[CWD]/Cargo.toml`
Caused by:
`workspace.dependencies.dep` specified `{ workspace = true }`, but workspace dependencies \
cannot do this
dep was specified as `workspace.dependencies.dep.workspace = true`, but \
workspace dependencies cannot specify `workspace = true`
",
)
.run();
Expand Down Expand Up @@ -1347,7 +1347,7 @@ fn error_inherit_unspecified_dependency() {
version = "1.2.3"
authors = ["rustaceans"]
[dependencies]
foo = { workspace = true }
foo.workspace = true
"#,
)
.file("bar/src/main.rs", "fn main() {}")
Expand Down

0 comments on commit a18b97f

Please sign in to comment.