Skip to content

Commit ca0cce7

Browse files
committed
Revert unnecessary changes
1 parent 503a867 commit ca0cce7

File tree

1 file changed

+15
-29
lines changed

1 file changed

+15
-29
lines changed

src/cargo/core/workspace.rs

Lines changed: 15 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1071,7 +1071,7 @@ impl<'cfg> Workspace<'cfg> {
10711071
if self.allows_new_cli_feature_behavior() {
10721072
self.members_with_features_new(specs, cli_features)
10731073
} else {
1074-
self.members_with_features_old(specs, cli_features)
1074+
Ok(self.members_with_features_old(specs, cli_features))
10751075
}
10761076
}
10771077

@@ -1196,7 +1196,7 @@ impl<'cfg> Workspace<'cfg> {
11961196
&self,
11971197
specs: &[PackageIdSpec],
11981198
cli_features: &CliFeatures,
1199-
) -> CargoResult<Vec<(&Package, CliFeatures)>> {
1199+
) -> Vec<(&Package, CliFeatures)> {
12001200
// Split off any features with the syntax `member-name/feature-name` into a map
12011201
// so that those features can be applied directly to those workspace-members.
12021202
let mut member_specific_features: HashMap<InternedString, BTreeSet<FeatureValue>> =
@@ -1215,30 +1215,32 @@ impl<'cfg> Workspace<'cfg> {
12151215
} => panic!("unexpected dep: syntax {}", feature),
12161216
FeatureValue::DepFeature {
12171217
dep_name,
1218-
dep_feature: _,
1218+
dep_feature,
12191219
dep_prefix: _,
12201220
weak: _,
12211221
} => {
1222-
// Check if `dep_name` is member of the workspace, but isn't associated with current package.
1223-
// Weak can be ignored for this moment.
1222+
// I think weak can be ignored here.
1223+
// * With `--features member?/feat -p member`, the ? doesn't
1224+
// really mean anything (either the member is built or it isn't).
1225+
// * With `--features nonmember?/feat`, cwd_features will
1226+
// handle processing it correctly.
12241227
let is_member = self.members().any(|member| {
1228+
// Check if `dep_name` is member of the workspace, but isn't associated with current package.
12251229
self.current_opt() != Some(member) && member.name() == *dep_name
12261230
});
12271231
if is_member && specs.iter().any(|spec| spec.name() == *dep_name) {
12281232
member_specific_features
12291233
.entry(*dep_name)
12301234
.or_default()
1231-
.insert(feature.clone());
1235+
.insert(FeatureValue::Feature(*dep_feature));
12321236
} else {
1233-
// With `--features nonmember?/feat`, cwd_features will
1234-
// handle processing it correctly.
12351237
cwd_features.insert(feature.clone());
12361238
}
12371239
}
12381240
}
12391241
}
12401242

1241-
let result: Vec<_> = self
1243+
let ms: Vec<_> = self
12421244
.members()
12431245
.filter_map(|member| {
12441246
let member_id = member.package_id();
@@ -1251,13 +1253,13 @@ impl<'cfg> Workspace<'cfg> {
12511253
all_features: cli_features.all_features,
12521254
uses_default_features: cli_features.uses_default_features,
12531255
};
1254-
12551256
Some((member, feats))
12561257
}
12571258
_ => {
12581259
// Ignore members that are not enabled on the command-line.
12591260
if specs.iter().any(|spec| spec.matches(member_id)) {
1260-
// -p for a workspace member that is not the "current" one.
1261+
// -p for a workspace member that is not the "current"
1262+
// one.
12611263
//
12621264
// The odd behavior here is due to backwards
12631265
// compatibility. `--features` and
@@ -1269,27 +1271,11 @@ impl<'cfg> Workspace<'cfg> {
12691271
features: Rc::new(
12701272
member_specific_features
12711273
.remove(member.name().as_str())
1272-
.unwrap_or_default()
1273-
.into_iter()
1274-
.map(|feature| match feature {
1275-
// I think weak can be ignored here.
1276-
// With `--features member?/feat -p member`, the ? doesn't
1277-
// really mean anything (either the member is built or it isn't).
1278-
FeatureValue::DepFeature {
1279-
dep_name: _,
1280-
dep_feature,
1281-
dep_prefix: false,
1282-
weak: _,
1283-
} => FeatureValue::new(dep_feature),
1284-
// Member specific features by definition contain only `FeatureValue::DepFeature`
1285-
_ => unreachable!(),
1286-
})
1287-
.collect(),
1274+
.unwrap_or_default(),
12881275
),
12891276
uses_default_features: true,
12901277
all_features: cli_features.all_features,
12911278
};
1292-
12931279
Some((member, feats))
12941280
} else {
12951281
// This member was not requested on the command-line, skip.
@@ -1304,7 +1290,7 @@ impl<'cfg> Workspace<'cfg> {
13041290
// some features will be ignored.
13051291
assert!(member_specific_features.is_empty());
13061292

1307-
Ok(result)
1293+
ms
13081294
}
13091295
}
13101296

0 commit comments

Comments
 (0)