diff --git a/src/cargo/ops/cargo_add/mod.rs b/src/cargo/ops/cargo_add/mod.rs index 08695525b..7012e3bcb 100644 --- a/src/cargo/ops/cargo_add/mod.rs +++ b/src/cargo/ops/cargo_add/mod.rs @@ -601,6 +601,7 @@ fn populate_dependency(mut dependency: Dependency, arg: &DepOp) -> Dependency { pub struct DependencyEx { dep: Dependency, + available_version: Option, available_features: BTreeMap>, } @@ -608,11 +609,13 @@ impl DependencyEx { fn new(dep: Dependency) -> Self { Self { dep, + available_version: None, available_features: Default::default(), } } fn apply_summary(&mut self, summary: &Summary) { + self.available_version = Some(summary.version().clone()); self.available_features = summary .features() .iter() @@ -765,7 +768,15 @@ fn print_msg(shell: &mut Shell, dep: &DependencyEx, section: &[String]) -> Cargo deactivated.sort(); if !activated.is_empty() || !deactivated.is_empty() { let prefix = format!("{:>13}", " "); - shell.write_stderr(format_args!("{}Features:\n", prefix), &ColorSpec::new())?; + let suffix = if let Some(version) = &dep.available_version { + format!(" as of v{}", version) + } else { + "".to_owned() + }; + shell.write_stderr( + format_args!("{}Features{}:\n", prefix, suffix), + &ColorSpec::new(), + )?; for feat in activated { shell.write_stderr(&prefix, &ColorSpec::new())?; shell.write_stderr('+', &ColorSpec::new().set_bold(true).set_fg(Some(Green)))?; diff --git a/tests/testsuite/cargo_add/add_normalized_name_external/stderr.log b/tests/testsuite/cargo_add/add_normalized_name_external/stderr.log index c7d451143..9f7fc219e 100644 --- a/tests/testsuite/cargo_add/add_normalized_name_external/stderr.log +++ b/tests/testsuite/cargo_add/add_normalized_name_external/stderr.log @@ -2,7 +2,7 @@ warning: translating `linked_hash_map` to `linked-hash-map` warning: translating `Inflector` to `inflector` Adding linked-hash-map v0.5.4 to dependencies. - Features: + Features as of v0.5.4: - clippy - heapsize - heapsize_impl @@ -11,7 +11,7 @@ warning: translating `Inflector` to `inflector` - serde_impl - serde_test Adding inflector v0.11.4 to dependencies. - Features: + Features as of v0.11.4: + heavyweight + lazy_static + regex diff --git a/tests/testsuite/cargo_add/build_prefer_existing_version/stderr.log b/tests/testsuite/cargo_add/build_prefer_existing_version/stderr.log index 554aa2ef3..ba6d85070 100644 --- a/tests/testsuite/cargo_add/build_prefer_existing_version/stderr.log +++ b/tests/testsuite/cargo_add/build_prefer_existing_version/stderr.log @@ -1,4 +1,4 @@ Adding cargo-list-test-fixture-dependency (local) to build-dependencies. - Features: + Features as of v0.0.0: - one - two diff --git a/tests/testsuite/cargo_add/detect_workspace_inherit_features/stderr.log b/tests/testsuite/cargo_add/detect_workspace_inherit_features/stderr.log index 86d9fb3b8..02dde7a34 100644 --- a/tests/testsuite/cargo_add/detect_workspace_inherit_features/stderr.log +++ b/tests/testsuite/cargo_add/detect_workspace_inherit_features/stderr.log @@ -1,5 +1,5 @@ Adding foo (workspace) to dependencies. - Features: + Features as of v0.0.0: + default-base + default-merge-base + default-test-base diff --git a/tests/testsuite/cargo_add/dev_prefer_existing_version/stderr.log b/tests/testsuite/cargo_add/dev_prefer_existing_version/stderr.log index 06673543a..32f9a3e82 100644 --- a/tests/testsuite/cargo_add/dev_prefer_existing_version/stderr.log +++ b/tests/testsuite/cargo_add/dev_prefer_existing_version/stderr.log @@ -1,4 +1,4 @@ Adding cargo-list-test-fixture-dependency (local) to dev-dependencies. - Features: + Features as of v0.0.0: - one - two diff --git a/tests/testsuite/cargo_add/features/stderr.log b/tests/testsuite/cargo_add/features/stderr.log index 386f3db5a..58cfb8eeb 100644 --- a/tests/testsuite/cargo_add/features/stderr.log +++ b/tests/testsuite/cargo_add/features/stderr.log @@ -1,6 +1,6 @@ Updating `dummy-registry` index Adding your-face v99999.0.0 to dependencies. - Features: + Features as of v99999.0.0+my-package: + eyes - ears - mouth diff --git a/tests/testsuite/cargo_add/features_empty/stderr.log b/tests/testsuite/cargo_add/features_empty/stderr.log index 796b9601b..71380066c 100644 --- a/tests/testsuite/cargo_add/features_empty/stderr.log +++ b/tests/testsuite/cargo_add/features_empty/stderr.log @@ -1,6 +1,6 @@ Updating `dummy-registry` index Adding your-face v99999.0.0 to dependencies. - Features: + Features as of v99999.0.0+my-package: - ears - eyes - mouth diff --git a/tests/testsuite/cargo_add/features_multiple_occurrences/stderr.log b/tests/testsuite/cargo_add/features_multiple_occurrences/stderr.log index 615459052..618a9397b 100644 --- a/tests/testsuite/cargo_add/features_multiple_occurrences/stderr.log +++ b/tests/testsuite/cargo_add/features_multiple_occurrences/stderr.log @@ -1,6 +1,6 @@ Updating `dummy-registry` index Adding your-face v99999.0.0 to dependencies. - Features: + Features as of v99999.0.0+my-package: + eyes + nose - ears diff --git a/tests/testsuite/cargo_add/features_preserve/stderr.log b/tests/testsuite/cargo_add/features_preserve/stderr.log index 386f3db5a..58cfb8eeb 100644 --- a/tests/testsuite/cargo_add/features_preserve/stderr.log +++ b/tests/testsuite/cargo_add/features_preserve/stderr.log @@ -1,6 +1,6 @@ Updating `dummy-registry` index Adding your-face v99999.0.0 to dependencies. - Features: + Features as of v99999.0.0+my-package: + eyes - ears - mouth diff --git a/tests/testsuite/cargo_add/features_spaced_values/stderr.log b/tests/testsuite/cargo_add/features_spaced_values/stderr.log index 615459052..618a9397b 100644 --- a/tests/testsuite/cargo_add/features_spaced_values/stderr.log +++ b/tests/testsuite/cargo_add/features_spaced_values/stderr.log @@ -1,6 +1,6 @@ Updating `dummy-registry` index Adding your-face v99999.0.0 to dependencies. - Features: + Features as of v99999.0.0+my-package: + eyes + nose - ears diff --git a/tests/testsuite/cargo_add/features_unknown/stderr.log b/tests/testsuite/cargo_add/features_unknown/stderr.log index 7f59af09a..0d1f3f69a 100644 --- a/tests/testsuite/cargo_add/features_unknown/stderr.log +++ b/tests/testsuite/cargo_add/features_unknown/stderr.log @@ -1,6 +1,6 @@ Updating `dummy-registry` index Adding your-face v99999.0.0 to dependencies. - Features: + Features as of v99999.0.0+my-package: + noze - ears - eyes diff --git a/tests/testsuite/cargo_add/list_features/stderr.log b/tests/testsuite/cargo_add/list_features/stderr.log index 796b9601b..71380066c 100644 --- a/tests/testsuite/cargo_add/list_features/stderr.log +++ b/tests/testsuite/cargo_add/list_features/stderr.log @@ -1,6 +1,6 @@ Updating `dummy-registry` index Adding your-face v99999.0.0 to dependencies. - Features: + Features as of v99999.0.0+my-package: - ears - eyes - mouth diff --git a/tests/testsuite/cargo_add/list_features_path/stderr.log b/tests/testsuite/cargo_add/list_features_path/stderr.log index af6747fe8..60419c148 100644 --- a/tests/testsuite/cargo_add/list_features_path/stderr.log +++ b/tests/testsuite/cargo_add/list_features_path/stderr.log @@ -1,5 +1,5 @@ Adding your-face (local) to dependencies. - Features: + Features as of v0.1.3: + mouth + nose - eyes diff --git a/tests/testsuite/cargo_add/list_features_path_no_default/stderr.log b/tests/testsuite/cargo_add/list_features_path_no_default/stderr.log index 7f47a220e..9f63857dc 100644 --- a/tests/testsuite/cargo_add/list_features_path_no_default/stderr.log +++ b/tests/testsuite/cargo_add/list_features_path_no_default/stderr.log @@ -1,5 +1,5 @@ Adding your-face (local) to dependencies. - Features: + Features as of v0.1.3: - eyes - mouth - nose diff --git a/tests/testsuite/cargo_add/merge_activated_features/stderr.log b/tests/testsuite/cargo_add/merge_activated_features/stderr.log index 86d9fb3b8..02dde7a34 100644 --- a/tests/testsuite/cargo_add/merge_activated_features/stderr.log +++ b/tests/testsuite/cargo_add/merge_activated_features/stderr.log @@ -1,5 +1,5 @@ Adding foo (workspace) to dependencies. - Features: + Features as of v0.0.0: + default-base + default-merge-base + default-test-base diff --git a/tests/testsuite/cargo_add/overwrite_features/stderr.log b/tests/testsuite/cargo_add/overwrite_features/stderr.log index 615459052..618a9397b 100644 --- a/tests/testsuite/cargo_add/overwrite_features/stderr.log +++ b/tests/testsuite/cargo_add/overwrite_features/stderr.log @@ -1,6 +1,6 @@ Updating `dummy-registry` index Adding your-face v99999.0.0 to dependencies. - Features: + Features as of v99999.0.0+my-package: + eyes + nose - ears diff --git a/tests/testsuite/cargo_add/overwrite_inherit_features_noop/stderr.log b/tests/testsuite/cargo_add/overwrite_inherit_features_noop/stderr.log index 0eee2e6bd..3c7133bbc 100644 --- a/tests/testsuite/cargo_add/overwrite_inherit_features_noop/stderr.log +++ b/tests/testsuite/cargo_add/overwrite_inherit_features_noop/stderr.log @@ -1,3 +1,3 @@ Adding foo (workspace) to dependencies. - Features: + Features as of v0.0.0: + test diff --git a/tests/testsuite/cargo_add/overwrite_inline_features/stderr.log b/tests/testsuite/cargo_add/overwrite_inline_features/stderr.log index a686cba55..b0f656df9 100644 --- a/tests/testsuite/cargo_add/overwrite_inline_features/stderr.log +++ b/tests/testsuite/cargo_add/overwrite_inline_features/stderr.log @@ -1,7 +1,7 @@ Updating `dummy-registry` index Adding unrelateed-crate v99999.0.0 to dependencies. Adding your-face v99999.0.0 to dependencies. - Features: + Features as of v99999.0.0+my-package: + ears + eyes + mouth diff --git a/tests/testsuite/cargo_add/overwrite_name_dev_noop/stderr.log b/tests/testsuite/cargo_add/overwrite_name_dev_noop/stderr.log index 2fe3f6a29..a9d0c65d7 100644 --- a/tests/testsuite/cargo_add/overwrite_name_dev_noop/stderr.log +++ b/tests/testsuite/cargo_add/overwrite_name_dev_noop/stderr.log @@ -1,4 +1,4 @@ Adding your-face (local) to dev-dependencies. - Features: + Features as of v0.0.0: + mouth + nose diff --git a/tests/testsuite/cargo_add/overwrite_name_noop/stderr.log b/tests/testsuite/cargo_add/overwrite_name_noop/stderr.log index 2f0b90de0..fdd8d51a1 100644 --- a/tests/testsuite/cargo_add/overwrite_name_noop/stderr.log +++ b/tests/testsuite/cargo_add/overwrite_name_noop/stderr.log @@ -1,4 +1,4 @@ Adding your-face (local) to optional dependencies. - Features: + Features as of v0.0.0: + mouth + nose diff --git a/tests/testsuite/cargo_add/overwrite_optional_with_no_optional/stderr.log b/tests/testsuite/cargo_add/overwrite_optional_with_no_optional/stderr.log index 5fe113e86..5ef0f6090 100644 --- a/tests/testsuite/cargo_add/overwrite_optional_with_no_optional/stderr.log +++ b/tests/testsuite/cargo_add/overwrite_optional_with_no_optional/stderr.log @@ -1,6 +1,6 @@ Updating `dummy-registry` index Adding your-face v99999.0.0 to dependencies. - Features: + Features as of v99999.0.0+my-package: - ears - eyes - mouth diff --git a/tests/testsuite/cargo_add/overwrite_path_noop/stderr.log b/tests/testsuite/cargo_add/overwrite_path_noop/stderr.log index 2f0b90de0..fdd8d51a1 100644 --- a/tests/testsuite/cargo_add/overwrite_path_noop/stderr.log +++ b/tests/testsuite/cargo_add/overwrite_path_noop/stderr.log @@ -1,4 +1,4 @@ Adding your-face (local) to optional dependencies. - Features: + Features as of v0.0.0: + mouth + nose diff --git a/tests/testsuite/cargo_add/overwrite_preserves_inline_table/stderr.log b/tests/testsuite/cargo_add/overwrite_preserves_inline_table/stderr.log index 615459052..618a9397b 100644 --- a/tests/testsuite/cargo_add/overwrite_preserves_inline_table/stderr.log +++ b/tests/testsuite/cargo_add/overwrite_preserves_inline_table/stderr.log @@ -1,6 +1,6 @@ Updating `dummy-registry` index Adding your-face v99999.0.0 to dependencies. - Features: + Features as of v99999.0.0+my-package: + eyes + nose - ears diff --git a/tests/testsuite/cargo_add/overwrite_workspace_dep_features/stderr.log b/tests/testsuite/cargo_add/overwrite_workspace_dep_features/stderr.log index 18ed7c2d8..e5579fda6 100644 --- a/tests/testsuite/cargo_add/overwrite_workspace_dep_features/stderr.log +++ b/tests/testsuite/cargo_add/overwrite_workspace_dep_features/stderr.log @@ -1,5 +1,5 @@ Adding foo (local) to dependencies. - Features: + Features as of v0.0.0: + default-base + default-merge-base + default-test-base diff --git a/tests/testsuite/cargo_add/require_weak/stderr.log b/tests/testsuite/cargo_add/require_weak/stderr.log index 796b9601b..71380066c 100644 --- a/tests/testsuite/cargo_add/require_weak/stderr.log +++ b/tests/testsuite/cargo_add/require_weak/stderr.log @@ -1,6 +1,6 @@ Updating `dummy-registry` index Adding your-face v99999.0.0 to dependencies. - Features: + Features as of v99999.0.0+my-package: - ears - eyes - mouth diff --git a/tests/testsuite/cargo_add/unknown_inherited_feature/stderr.log b/tests/testsuite/cargo_add/unknown_inherited_feature/stderr.log index 693e88721..acc7bd2bb 100644 --- a/tests/testsuite/cargo_add/unknown_inherited_feature/stderr.log +++ b/tests/testsuite/cargo_add/unknown_inherited_feature/stderr.log @@ -1,5 +1,5 @@ Adding foo (workspace) to dependencies. - Features: + Features as of v0.0.0: + default-base + default-merge-base + default-test-base