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