Skip to content

Commit 2b9f88c

Browse files
committed
Refactor: flatten Unifier methods
1 parent e696633 commit 2b9f88c

File tree

1 file changed

+15
-19
lines changed

1 file changed

+15
-19
lines changed

chalk-solve/src/infer/unify.rs

Lines changed: 15 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -755,30 +755,26 @@ impl<'t, I: Interner> Unifier<'t, I> {
755755
universe_index: UniverseIndex,
756756
variance: Variance,
757757
) -> Lifetime<I> {
758-
let interner = self.interner;
759-
match lifetime.data(interner) {
760-
LifetimeData::BoundVar(_) => lifetime.clone(),
761-
_ => {
762-
if matches!(variance, Variance::Invariant) {
763-
lifetime.clone()
764-
} else {
765-
let ena_var = self.table.new_variable(universe_index);
766-
ena_var.to_lifetime(interner)
767-
}
768-
}
758+
if matches!(lifetime.data(self.interner), LifetimeData::BoundVar(_))
759+
|| matches!(variance, Variance::Invariant)
760+
{
761+
lifetime.clone()
762+
} else {
763+
self.table
764+
.new_variable(universe_index)
765+
.to_lifetime(self.interner)
769766
}
770767
}
771768

772769
#[instrument(level = "debug", skip(self))]
773770
fn generalize_const(&mut self, const_: &Const<I>, universe_index: UniverseIndex) -> Const<I> {
774-
let interner = self.interner;
775-
let data = const_.data(interner);
776-
match data.value {
777-
ConstValue::BoundVar(_) => const_.clone(),
778-
_ => {
779-
let ena_var = self.table.new_variable(universe_index);
780-
ena_var.to_const(interner, data.ty.clone())
781-
}
771+
let data = const_.data(self.interner);
772+
if matches!(data.value, ConstValue::BoundVar(_)) {
773+
const_.clone()
774+
} else {
775+
self.table
776+
.new_variable(universe_index)
777+
.to_const(self.interner, data.ty.clone())
782778
}
783779
}
784780

0 commit comments

Comments
 (0)