Unnamed repository; edit this file 'description' to name the repository.
Merge pull request #20884 from ChayimFriedman2/fix-cfg-error
fix: Fix "cannot insert `true` or `false` to cfg" error in fixtures
Shoyu Vanilla (Flint) 6 months ago
parent ec15d97 · parent db10a20 · commit f362735
-rw-r--r--crates/cfg/src/lib.rs7
-rw-r--r--crates/test-fixture/src/lib.rs2
2 files changed, 8 insertions, 1 deletions
diff --git a/crates/cfg/src/lib.rs b/crates/cfg/src/lib.rs
index 906106ca5d..b1ec4c273a 100644
--- a/crates/cfg/src/lib.rs
+++ b/crates/cfg/src/lib.rs
@@ -115,6 +115,13 @@ impl CfgOptions {
pub fn shrink_to_fit(&mut self) {
self.enabled.shrink_to_fit();
}
+
+ pub fn append(&mut self, other: CfgOptions) {
+ // Do not call `insert_any_atom()`, as it'll check for `true` and `false`, but this is not
+ // needed since we already checked for that when constructing `other`. Furthermore, this
+ // will always err, as `other` inevitably contains `true` (just as we do).
+ self.enabled.extend(other.enabled);
+ }
}
impl Extend<CfgAtom> for CfgOptions {
diff --git a/crates/test-fixture/src/lib.rs b/crates/test-fixture/src/lib.rs
index aefe81f83e..a718b96a82 100644
--- a/crates/test-fixture/src/lib.rs
+++ b/crates/test-fixture/src/lib.rs
@@ -252,7 +252,7 @@ impl ChangeFixture {
assert!(default_crate_root.is_none());
default_crate_root = Some(file_id);
default_edition = meta.edition;
- default_cfg.extend(meta.cfg.into_iter());
+ default_cfg.append(meta.cfg);
default_env.extend_from_other(&meta.env);
}