summaryrefslogtreecommitdiffstats
path: root/src/options/set.rs
diff options
context:
space:
mode:
authorDan Davison <dandavison7@gmail.com>2020-08-08 11:48:30 -0400
committerDan Davison <dandavison7@gmail.com>2020-08-08 11:57:29 -0400
commit88397f72267f911b1f1ba219036ae93e354f760b (patch)
tree7edf99aee662713f54a5b0e814139a6c1cde4f20 /src/options/set.rs
parent6669e6ad698e44c51856ab40fe0dc6d87b7cb4b7 (diff)
Eliminate an .unwrap()
Diffstat (limited to 'src/options/set.rs')
-rw-r--r--src/options/set.rs34
1 files changed, 20 insertions, 14 deletions
diff --git a/src/options/set.rs b/src/options/set.rs
index 92644a31..9f6f0b31 100644
--- a/src/options/set.rs
+++ b/src/options/set.rs
@@ -428,22 +428,12 @@ fn gather_builtin_features_recursively<'a>(
return;
}
features.push_front(feature_string);
- let feature_data = builtin_features.get(feature).unwrap();
- if let Some(child_features_fn) = feature_data.get("features") {
- if let ProvenancedOptionValue::DefaultValue(OptionValue::String(features_string)) =
- child_features_fn(opt, &None)
- {
- for child_feature in split_feature_string(&features_string) {
- gather_builtin_features_recursively(child_feature, features, builtin_features, opt);
- }
- }
- }
- for child_feature in builtin_features.keys() {
- if let Some(child_features_fn) = feature_data.get(child_feature) {
- if let ProvenancedOptionValue::DefaultValue(OptionValue::Boolean(value)) =
+ if let Some(feature_data) = builtin_features.get(feature) {
+ if let Some(child_features_fn) = feature_data.get("features") {
+ if let ProvenancedOptionValue::DefaultValue(OptionValue::String(features_string)) =
child_features_fn(opt, &None)
{
- if value {
+ for child_feature in split_feature_string(&features_string) {
gather_builtin_features_recursively(
child_feature,
features,
@@ -453,6 +443,22 @@ fn gather_builtin_features_recursively<'a>(
}
}
}
+ for child_feature in builtin_features.keys() {
+ if let Some(child_features_fn) = feature_data.get(child_feature) {
+ if let ProvenancedOptionValue::DefaultValue(OptionValue::Boolean(value)) =
+ child_features_fn(opt, &None)
+ {
+ if value {
+ gather_builtin_features_recursively(
+ child_feature,
+ features,
+ builtin_features,
+ opt,
+ );
+ }
+ }
+ }
+ }
}
}