luaur_analysis/methods/
constraint_solver_deprecate_d_block.rs1use crate::records::constraint::Constraint;
2use crate::records::constraint_solver::ConstraintSolver;
3use crate::type_aliases::blocked_constraint_id::BlockedConstraintId;
4use luaur_common::records::dense_hash_set::DenseHashSet;
5
6impl ConstraintSolver {
7 pub fn deprecate_d_block(
8 &mut self,
9 target: BlockedConstraintId,
10 constraint: *const Constraint,
11 ) -> bool {
12 let block_vec = self
13 .deprecated_blocked
14 .entry(target)
15 .or_insert_with(|| DenseHashSet::new(core::ptr::null()));
16
17 if block_vec.find(&constraint).is_some() {
18 return false;
19 }
20
21 block_vec.insert(constraint);
22
23 let count = self
24 .deprecated_blocked_constraints
25 .entry(constraint)
26 .or_insert(0);
27 *count += 1;
28
29 true
30 }
31}