aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--proofs/evar_refiner.ml9
1 files changed, 6 insertions, 3 deletions
diff --git a/proofs/evar_refiner.ml b/proofs/evar_refiner.ml
index b0f933a504..b395c0fd99 100644
--- a/proofs/evar_refiner.ml
+++ b/proofs/evar_refiner.ml
@@ -28,9 +28,12 @@ let w_refine ev rawc evd =
let e_info = Evd.find (evars_of evd) ev in
let env = Evd.evar_env e_info in
let sigma,typed_c =
- Pretyping.Default.understand_tcc (evars_of evd) env
- ~expected_type:e_info.evar_concl rawc in
- evar_define ev typed_c (evars_reset_evd sigma evd)
+ try Pretyping.Default.understand_tcc (evars_of evd) env
+ ~expected_type:e_info.evar_concl rawc
+ with _ -> error ("The term is not well-typed in the environment of " ^
+ string_of_existential ev)
+ in
+ evar_define ev typed_c (evars_reset_evd sigma evd)
(* vernac command Existential *)