aboutsummaryrefslogtreecommitdiff
path: root/src/checker_signature.rs
diff options
context:
space:
mode:
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"
),
}
}