Skip to content

Commit f47ac3a

Browse files
committed
hint for only bad dependency true literal and rename unit test to match
1 parent 18369ce commit f47ac3a

File tree

2 files changed

+11
-9
lines changed

2 files changed

+11
-9
lines changed

crates/cargo-util-schemas/src/manifest/mod.rs

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -783,13 +783,17 @@ impl<'de, P: Deserialize<'de> + Clone> de::Deserialize<'de> for TomlDependency<P
783783
.expecting(expected)
784784
.string(|value| Ok(TomlDependency::Simple(value.to_owned())))
785785
.bool(|value| {
786-
let err = format!(
787-
"invalid type: boolean `{value}`, expected {expected}\n\
786+
let expected = format!("invalid type: boolean `{value}`, expected {expected}");
787+
let err = if value {
788+
format!(
789+
"{expected}\n\
788790
note: if you meant to use a workspace member, you can write\n \
789-
dep = {{ workspace = {value} }}\n\
790-
or\n \
791-
dep.workspace = {value}",
792-
);
791+
dep.workspace = {value}"
792+
)
793+
} else {
794+
expected
795+
};
796+
793797
Err(serde_untagged::de::Error::custom(err))
794798
})
795799
.map(|value| value.deserialize().map(TomlDependency::Detailed))

tests/testsuite/bad_config.rs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2648,7 +2648,7 @@ fn bad_dependency() {
26482648
}
26492649

26502650
#[cargo_test]
2651-
fn bad_boolean_dependency() {
2651+
fn bad_dependency_true_literal() {
26522652
let p = project()
26532653
.file(
26542654
"Cargo.toml",
@@ -2671,8 +2671,6 @@ fn bad_boolean_dependency() {
26712671
.with_stderr_data(str![[r#"
26722672
[ERROR] invalid type: boolean `true`, expected a version string like "0.9.8" or a detailed dependency like { version = "0.9.8" }
26732673
[NOTE] if you meant to use a workspace member, you can write
2674-
dep = { workspace = true }
2675-
or
26762674
dep.workspace = true
26772675
--> Cargo.toml:9:23
26782676
|

0 commit comments

Comments
 (0)