for var_num in subsumed_hits {
match &mut self.var_data.records[var_num].allocation {
VarAlloc::Perm(_, ref mut allocation) => {
- match allocation {
- PermVarAllocation::Done {
- shallow_safety,
- deep_safety,
- ..
- } => {
- if !self
- .branch_stack
- .safety_unneeded_in_branch(shallow_safety, &branch_designator)
- {
- let branch_occurrences = self.branch_stack.last_mut().unwrap();
- branch_occurrences.shallow_safety.insert(var_num);
- }
-
- if !self
- .branch_stack
- .safety_unneeded_in_branch(deep_safety, &branch_designator)
- {
- let branch_occurrences = self.branch_stack.last_mut().unwrap();
- branch_occurrences.deep_safety.insert(var_num);
- }
+ if let PermVarAllocation::Done {
+ shallow_safety,
+ deep_safety,
+ ..
+ } = allocation
+ {
+ if !self
+ .branch_stack
+ .safety_unneeded_in_branch(shallow_safety, &branch_designator)
+ {
+ let branch_occurrences = self.branch_stack.last_mut().unwrap();
+ branch_occurrences.shallow_safety.insert(var_num);
}
- _ => {
+
+ if !self
+ .branch_stack
+ .safety_unneeded_in_branch(deep_safety, &branch_designator)
+ {
+ let branch_occurrences = self.branch_stack.last_mut().unwrap();
+ branch_occurrences.deep_safety.insert(var_num);
}
}
-
+
*allocation = PermVarAllocation::Pending;
}
_ => unreachable!(),
}
}
-#[derive(Clone, Copy, Debug)]
+#[derive(Clone, Copy, Debug, Default)]
pub(crate) struct PredicateInfo {
pub(crate) is_extensible: bool,
pub(crate) is_discontiguous: bool,
pub(crate) has_clauses: bool,
}
-impl Default for PredicateInfo {
- #[inline]
- fn default() -> Self {
- PredicateInfo {
- is_extensible: false,
- is_discontiguous: false,
- is_dynamic: false,
- is_multifile: false,
- has_clauses: false,
- }
- }
-}
+
impl PredicateInfo {
#[inline]
}
}
-#[derive(Debug, Clone, Copy, Hash, PartialEq, Eq)]
+#[derive(Debug, Clone, Copy, Hash, PartialEq, Eq, Default)]
pub enum CompilationTarget {
Module(Atom),
+ #[default]
User,
}
}
}
-impl Default for CompilationTarget {
- #[inline]
- fn default() -> Self {
- CompilationTarget::User
- }
-}
-
impl CompilationTarget {
#[inline]
pub(crate) fn module_name(&self) -> Atom {
}
}
-#[derive(Debug, Clone, Copy)]
+#[derive(Debug, Clone, Copy, Default)]
pub enum Unknown {
+ #[default]
Error,
Fail,
Warn,
}
}
-impl Default for Unknown {
- #[inline]
- fn default() -> Self {
- Unknown::Error
- }
-}
-
pub fn default_op_dir() -> OpDir {
let mut op_dir = OpDir::with_hasher(FxBuildHasher::default());