diff options
| author | notin | 2006-10-05 17:31:23 +0000 |
|---|---|---|
| committer | notin | 2006-10-05 17:31:23 +0000 |
| commit | e4c48f3da68f3c3f8d0e9dada278120004eb8970 (patch) | |
| tree | 38f78980ae151c51dbc6c794b96c33e8c04d4530 /toplevel | |
| parent | 55dbe8e2fa7ed2053ecd54140f6bcbdf31981e0b (diff) | |
Correction d'un bug dans l'unification: lors de l'unification d'un meta m et d'un constr c, on vérifie que c est clos dans l'environnement de m (#1183)
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9217 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'toplevel')
| -rw-r--r-- | toplevel/himsg.ml | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/toplevel/himsg.ml b/toplevel/himsg.ml index 4da5d2f533..15318df3f1 100644 --- a/toplevel/himsg.ml +++ b/toplevel/himsg.ml @@ -385,6 +385,14 @@ let explain_cannot_unify m n = str"Impossible to unify" ++ brk(1,1) ++ pm ++ spc () ++ str"with" ++ brk(1,1) ++ pn +let explain_cannot_unify_local env m n subn = + let pm = pr_lconstr m in + let pn = pr_lconstr n in + let psubn = pr_lconstr_env env subn in + str"Impossible to unify" ++ brk(1,1) ++ pm ++ spc () ++ + str"with" ++ brk(1,1) ++ pn ++ spc() ++ str"as" ++ brk(1,1) ++ + psubn ++ str" contains local variables" + let explain_refiner_cannot_generalize ty = str "Cannot find a well-typed generalisation of the goal with type : " ++ pr_lconstr ty @@ -455,6 +463,7 @@ let explain_pretype_error ctx err = | NotProduct c -> explain_not_product ctx c | CannotUnify (m,n) -> explain_cannot_unify m n + | CannotUnifyLocal (e,m,n,sn) -> explain_cannot_unify_local e m n sn | CannotGeneralize ty -> explain_refiner_cannot_generalize ty | NoOccurrenceFound c -> explain_no_occurrence_found c | CannotUnifyBindingType (m,n) -> explain_cannot_unify_binding_type m n |
