Skip to content

Commit e3a1a59

Browse files
committed
fix: remove Option<T> from rust_std_features
1 parent d98c10f commit e3a1a59

File tree

3 files changed

+8
-13
lines changed

3 files changed

+8
-13
lines changed

src/bootstrap/src/core/config/config.rs

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -287,7 +287,7 @@ pub struct Config {
287287
pub rust_profile_generate: Option<String>,
288288
pub rust_lto: RustcLto,
289289
pub rust_validate_mir_opts: Option<u32>,
290-
pub rust_std_features: Option<BTreeSet<String>>,
290+
pub rust_std_features: BTreeSet<String>,
291291
pub llvm_profile_use: Option<String>,
292292
pub llvm_profile_generate: bool,
293293
pub llvm_libunwind_default: Option<LlvmLibunwind>,
@@ -1142,7 +1142,7 @@ define_config! {
11421142
download_rustc: Option<StringOrBool> = "download-rustc",
11431143
lto: Option<String> = "lto",
11441144
validate_mir_opts: Option<u32> = "validate-mir-opts",
1145-
std_features: Option<Vec<String>> = "std-features",
1145+
std_features: Option<BTreeSet<String>> = "std-features",
11461146
}
11471147
}
11481148

@@ -2096,10 +2096,8 @@ impl Config {
20962096
);
20972097
}
20982098

2099-
// std_features chosen during bootstrap
2100-
if let Some(std_features) = std_features {
2101-
config.rust_std_features = Some(BTreeSet::from_iter(std_features));
2102-
}
2099+
config.rust_std_features = std_features.unwrap_or_default();
2100+
21032101
let default = debug == Some(true);
21042102
config.rust_debug_assertions = debug_assertions.unwrap_or(default);
21052103
config.rust_debug_assertions_std =

src/bootstrap/src/core/config/tests.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -333,14 +333,14 @@ fn parse_rust_std_features() {
333333
let config = parse("rust.std-features = [\"panic-unwind\", \"backtrace\"]");
334334
let expected_features: BTreeSet<String> =
335335
["panic-unwind", "backtrace"].into_iter().map(|s| s.to_string()).collect();
336-
assert_eq!(config.rust_std_features, Some(expected_features));
336+
assert_eq!(config.rust_std_features, expected_features);
337337
}
338338

339339
#[test]
340340
fn parse_rust_std_features_empty() {
341341
let config = parse("rust.std-features = []");
342342
let expected_features: BTreeSet<String> = BTreeSet::new();
343-
assert_eq!(config.rust_std_features, Some(expected_features));
343+
assert_eq!(config.rust_std_features, expected_features);
344344
}
345345

346346
#[test]

src/bootstrap/src/lib.rs

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -663,11 +663,8 @@ impl Build {
663663

664664
/// Gets the space-separated set of activated features for the standard ibrary. This can be configured with the `std-features` key in config.toml.
665665
fn std_features(&self, target: TargetSelection) -> String {
666-
let mut features: BTreeSet<&str> = if let Some(features) = &self.config.rust_std_features {
667-
features.iter().map(|s| s.as_str()).collect()
668-
} else {
669-
BTreeSet::new()
670-
};
666+
let mut features: BTreeSet<&str> =
667+
self.config.rust_std_features.iter().map(|s| s.as_str()).collect();
671668

672669
features.insert("panic-unwind");
673670

0 commit comments

Comments
 (0)