Merge pull request #2295 from topecongiro/issue-2280

Make 'cargo fmt' formats every workspace member
This commit is contained in:
Nick Cameron 2017-12-22 12:56:53 +13:00 committed by GitHub
commit 23dfa827a7
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 14 additions and 1 deletions

View file

@ -2,6 +2,10 @@
## [Unreleased]
### Changed
- `cargo fmt` will format every workspace member.
## [0.3.2] 2017-12-15
### Changed

View file

@ -240,7 +240,7 @@ fn get_targets_root_only(targets: &mut HashSet<Target>) -> Result<(), io::Error>
for package in metadata.packages {
for target in package.targets {
if target.name == package.name {
if is_target_workspace_members(&target.name, &metadata.workspace_members) {
targets.insert(Target::from_target(&target));
}
}
@ -249,6 +249,15 @@ fn get_targets_root_only(targets: &mut HashSet<Target>) -> Result<(), io::Error>
Ok(())
}
fn is_target_workspace_members(target: &str, workspace_members: &[String]) -> bool {
workspace_members.iter().any(|member| {
member
.split_whitespace()
.nth(0)
.map_or(false, |name| name == target)
})
}
fn get_targets_recursive(
manifest_path: Option<&Path>,
mut targets: &mut HashSet<Target>,