Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/cfg/src/lib.rs')
-rw-r--r--crates/cfg/src/lib.rs6
1 files changed, 5 insertions, 1 deletions
diff --git a/crates/cfg/src/lib.rs b/crates/cfg/src/lib.rs
index 0aeb0b0505..f197dad2b2 100644
--- a/crates/cfg/src/lib.rs
+++ b/crates/cfg/src/lib.rs
@@ -7,7 +7,7 @@ mod dnf;
#[cfg(test)]
mod tests;
-use std::fmt;
+use std::{collections::HashSet, fmt};
use rustc_hash::FxHashSet;
use tt::SmolStr;
@@ -58,6 +58,10 @@ impl CfgOptions {
self.enabled.insert(CfgAtom::KeyValue { key, value });
}
+ pub fn diff<'a>(&'a self, other: &'a CfgOptions) -> HashSet<&CfgAtom> {
+ self.enabled.difference(&other.enabled).collect()
+ }
+
pub fn apply_diff(&mut self, diff: CfgDiff) {
for atom in diff.enable {
self.enabled.insert(atom);