luaur_analysis/methods/
constraint_solver_try_dispatch_constraint_solver_alt_c.rs1use crate::records::constraint::Constraint;
2use crate::records::constraint_solver::ConstraintSolver;
3use crate::records::pack_subtype_constraint::PackSubtypeConstraint;
4use crate::type_aliases::constraint_v::ConstraintV;
5use core::ptr::NonNull;
6
7impl ConstraintSolver {
8 pub fn try_dispatch_pack_subtype_constraint_not_null_constraint(
9 &mut self,
10 c: &PackSubtypeConstraint,
11 constraint: *const Constraint,
12 ) -> bool {
13 if self.is_blocked_type_pack_id(c.sub_pack) {
14 return self.block_type_pack_id_not_null_constraint(c.sub_pack, constraint);
15 } else if self.is_blocked_type_pack_id(c.super_pack) {
16 return self.block_type_pack_id_not_null_constraint(c.super_pack, constraint);
17 }
18
19 self.constraint_solver_unify(constraint, c.sub_pack, c.super_pack);
20
21 true
22 }
23}