Skip to content

Commit a18b97f

Browse files
committed
Prefer dependency.workspace = true to dependency = { workspace = true } when only specifying { workspace = true }
1 parent ea79548 commit a18b97f

File tree

3 files changed

+21
-20
lines changed

3 files changed

+21
-20
lines changed

src/cargo/util/toml/mod.rs

+3-2
Original file line numberDiff line numberDiff line change
@@ -130,8 +130,9 @@ pub fn read_manifest_from_str(
130130
}
131131
if let TomlDependency::Workspace(_) = dep {
132132
bail!(
133-
"`workspace.dependencies.{}` specified `{{ workspace = true }}`, but \
134-
workspace dependencies cannot do this",
133+
"{} was specified as `workspace.dependencies.{}.workspace = true`, but \
134+
workspace dependencies cannot specify `workspace = true`",
135+
name,
135136
name
136137
);
137138
}

src/doc/src/reference/unstable.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -1432,8 +1432,8 @@ wasm-bindgen-cli = { path = "crates/cli" }
14321432
```toml
14331433
# in a workspace member's Cargo.toml
14341434
[dependencies]
1435-
log = { workspace = true }
1436-
log2 = { workspace = true }
1435+
log.workspace = true
1436+
log2.workspace = true
14371437
```
14381438

14391439
Example 2:

tests/testsuite/inheritable_workspace_fields.rs

+16-16
Original file line numberDiff line numberDiff line change
@@ -251,13 +251,13 @@ fn inherit_own_dependencies() {
251251
authors = []
252252
253253
[dependencies]
254-
dep = { workspace = true }
254+
dep.workspace = true
255255
256256
[build-dependencies]
257-
dep-build = { workspace = true }
257+
dep-build.workspace = true
258258
259259
[dev-dependencies]
260-
dep-dev = { workspace = true }
260+
dep-dev.workspace = true
261261
262262
[workspace]
263263
members = []
@@ -393,7 +393,7 @@ fn inherit_own_detailed_dependencies() {
393393
authors = []
394394
395395
[dependencies]
396-
dep = { workspace = true }
396+
dep.workspace = true
397397
398398
[workspace]
399399
members = []
@@ -758,11 +758,11 @@ fn inherit_dependencies() {
758758
version = "0.2.0"
759759
authors = []
760760
[dependencies]
761-
dep = { workspace = true }
761+
dep.workspace = true
762762
[build-dependencies]
763-
dep-build = { workspace = true }
763+
dep-build.workspace = true
764764
[dev-dependencies]
765-
dep-dev = { workspace = true }
765+
dep-dev.workspace = true
766766
"#,
767767
)
768768
.file("bar/src/main.rs", "fn main() {}")
@@ -901,9 +901,9 @@ fn inherit_target_dependencies() {
901901
version = "0.2.0"
902902
authors = []
903903
[target.'cfg(unix)'.dependencies]
904-
dep = { workspace = true }
904+
dep.workspace = true
905905
[target.'cfg(windows)'.dependencies]
906-
dep = { workspace = true }
906+
dep.workspace = true
907907
"#,
908908
)
909909
.file("bar/src/main.rs", "fn main() {}")
@@ -1071,7 +1071,7 @@ fn inherit_detailed_dependencies() {
10711071
version = "0.2.0"
10721072
authors = []
10731073
[dependencies]
1074-
detailed = { workspace = true }
1074+
detailed.workspace = true
10751075
"#,
10761076
)
10771077
.file("bar/src/main.rs", "fn main() {}")
@@ -1116,7 +1116,7 @@ fn inherit_path_dependencies() {
11161116
version = "0.2.0"
11171117
authors = []
11181118
[dependencies]
1119-
dep = { workspace = true }
1119+
dep.workspace = true
11201120
"#,
11211121
)
11221122
.file("bar/src/main.rs", "fn main() {}")
@@ -1200,13 +1200,13 @@ fn error_workspace_dependency_looked_for_workspace_itself() {
12001200
workspace = ".."
12011201
12021202
[dependencies]
1203-
dep = { workspace = true }
1203+
dep.workspace = true
12041204
12051205
[workspace]
12061206
members = ["bar"]
12071207
12081208
[workspace.dependencies]
1209-
dep = { workspace = true }
1209+
dep.workspace = true
12101210
12111211
"#,
12121212
)
@@ -1221,8 +1221,8 @@ fn error_workspace_dependency_looked_for_workspace_itself() {
12211221
[ERROR] failed to parse manifest at `[CWD]/Cargo.toml`
12221222
12231223
Caused by:
1224-
`workspace.dependencies.dep` specified `{ workspace = true }`, but workspace dependencies \
1225-
cannot do this
1224+
dep was specified as `workspace.dependencies.dep.workspace = true`, but \
1225+
workspace dependencies cannot specify `workspace = true`
12261226
",
12271227
)
12281228
.run();
@@ -1347,7 +1347,7 @@ fn error_inherit_unspecified_dependency() {
13471347
version = "1.2.3"
13481348
authors = ["rustaceans"]
13491349
[dependencies]
1350-
foo = { workspace = true }
1350+
foo.workspace = true
13511351
"#,
13521352
)
13531353
.file("bar/src/main.rs", "fn main() {}")

0 commit comments

Comments
 (0)