aboutsummaryrefslogtreecommitdiff
path: root/pretyping/evarconv.ml
diff options
context:
space:
mode:
authorMatthieu Sozeau2014-07-03 18:51:13 +0200
committerMatthieu Sozeau2014-07-03 18:53:17 +0200
commite7ba2a9be24823503495e959f0dffc131e99801b (patch)
treedb0a3979974c88e101804438cfb89c1ddc70742d /pretyping/evarconv.ml
parentf2327aa3c69f1695f99e2ccbfe00c4e54e56e7d2 (diff)
Fix eta expansion of primitive records (HoTT bug #78), which now fails cleanly when called
on partially applied constructors. Also protect evar_conv from that case.
Diffstat (limited to 'pretyping/evarconv.ml')
-rw-r--r--pretyping/evarconv.ml4
1 files changed, 3 insertions, 1 deletions
diff --git a/pretyping/evarconv.ml b/pretyping/evarconv.ml
index e9d152de2d..cef8215866 100644
--- a/pretyping/evarconv.ml
+++ b/pretyping/evarconv.ml
@@ -708,7 +708,9 @@ and eta_constructor ts env evd sk1 ((ind, i), u) sk2 term2 =
exact_ise_stack2 env evd (evar_conv_x ts) l1'
(Stack.append_app_list l2' Stack.empty)
else raise (Failure "")
- with Failure _ -> UnifFailure(evd,NotSameHead))
+ with
+ | Invalid_argument _ (* Stack.tail: partially applied constructor *)
+ | Failure _ -> UnifFailure(evd,NotSameHead))
| _ -> UnifFailure (evd,NotSameHead)
(* Profiling *)