Skip to main content

luaur_analysis/methods/
constraint_solver_deprecate_d_unblock_constraint_solver.rs

1use crate::records::constraint_solver::ConstraintSolver;
2use crate::type_aliases::blocked_constraint_id::BlockedConstraintId;
3use luaur_common::macros::luau_assert::LUAU_ASSERT;
4use luaur_common::FFlag;
5
6impl ConstraintSolver {
7    pub fn deprecate_d_unblock_(&mut self, progressed: BlockedConstraintId) {
8        LUAU_ASSERT!(!FFlag::LuauConstraintGraph.get());
9        if let Some(blocked_constraints) = self.deprecated_blocked.remove(&progressed) {
10            for unblocked_constraint in blocked_constraints.iter() {
11                let count = self
12                    .deprecated_blocked_constraints
13                    .get_mut(unblocked_constraint)
14                    .unwrap();
15                LUAU_ASSERT!(*count > 0);
16                *count -= 1;
17            }
18        }
19    }
20}