aboutsummaryrefslogtreecommitdiff
path: root/src/checker_signature.rs
diff options
context:
space:
mode:
authortslil <tslil@posteo.de>2026-04-29 10:56:16 +0100
committertslil <tslil@posteo.de>2026-04-29 12:18:13 +0100
commit651a67cb568d80e72f8c6a650b985991f4b129d8 (patch)
tree4feab93c76d729db04a80fcf3ad1c1591dd125f4 /src/checker_signature.rs
parent67e3285ae6c7b94adc1983dcff18a009455bc582 (diff)
fix parser bug, fix beta reduction for setcoerce, disambiguate set coerce in parser
Diffstat (limited to 'src/checker_signature.rs')
-rw-r--r--src/checker_signature.rs8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/checker_signature.rs b/src/checker_signature.rs
index 36b11ca..15203b2 100644
--- a/src/checker_signature.rs
+++ b/src/checker_signature.rs
@@ -58,7 +58,11 @@ impl CheckerState {
});
};
let set = Box::new(self.check_set(*set.clone())?);
- Ok(Instance::SetCoerce(set))
+ if let Set::ClaimedSet(inner) = *set {
+ Ok(inner)
+ } else {
+ Ok(Instance::SetCoerce(set))
+ }
}
Instance::Var(ref v) => {
// Exactly the same discipline as for Element::Var, see there
@@ -158,7 +162,7 @@ impl CheckerState {
Ok(sub_element)
}
_ => panic!(
- "invariant violation: check_element returned neither a record or stuck computation for record set"
+ "invariant violation: check_instance returned neither a record or stuck computation for record set"
),
}
}