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
| -rw-r--r-- | crates/cfg/src/lib.rs | 7 | ||||
| -rw-r--r-- | crates/test-fixture/src/lib.rs | 2 |
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); } |