Skip to main content

luaur_analysis/methods/
constraint_solver_block_constraint_solver_alt_b.rs

1use crate::records::constraint::Constraint;
2use crate::records::constraint_solver::ConstraintSolver;
3
4impl ConstraintSolver {
5    pub fn block_not_null_constraint_not_null_constraint(
6        &mut self,
7        target: *const Constraint,
8        constraint: *const Constraint,
9    ) {
10        let new_block = if luaur_common::FFlag::LuauConstraintGraph.get() {
11            unsafe {
12                (*self.cgraph).add_dependency_of_constraint_constraint(
13                    &mut *(target as *mut Constraint),
14                    &mut *(constraint as *mut Constraint),
15                )
16            }
17        } else {
18            self.deprecate_d_block(
19                crate::type_aliases::blocked_constraint_id::BlockedConstraintId::V2(target),
20                constraint,
21            )
22        };
23
24        if new_block {
25            if let Some(logger) = unsafe { self.logger.as_mut() } {
26                logger.push_block_not_null_constraint_not_null_constraint(constraint, target);
27            }
28        }
29    }
30}