use std::collections::{HashMap, HashSet};
#[derive(Debug, Clone, PartialEq, Default)]
pub struct CfgExprRules {
pub enabled_features: HashSet<String>,
pub disabled_features: HashSet<String>,
pub feature_mappings: HashMap<String, String>,
pub disable_unknown_features: bool,
pub enabled_target_arch: Option<String>,
pub enabled_target_vendor: Option<String>,
pub enabled_target_os: Option<String>,
pub enabled_target_env: Option<String>,
}
impl CfgExprRules {
pub fn is_active(&self) -> bool {
!self.enabled_features.is_empty()
|| !self.disabled_features.is_empty()
|| !self.feature_mappings.is_empty()
|| self.disable_unknown_features
|| self.enabled_target_arch.is_some()
|| self.enabled_target_vendor.is_some()
|| self.enabled_target_os.is_some()
|| self.enabled_target_env.is_some()
}
}
pub(crate) mod cfg_expr;
pub(crate) mod process_features;
#[cfg(test)]
pub(crate) mod tests;