diff options
Diffstat (limited to 'src/checker_signature.rs')
| -rw-r--r-- | src/checker_signature.rs | 8 |
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" ), } } |
