aboutsummaryrefslogtreecommitdiffhomepage
path: root/tactics
diff options
context:
space:
mode:
authorGravatar Pierre-Marie Pédrot <pierre-marie.pedrot@inria.fr>2014-09-04 10:23:28 +0200
committerGravatar Pierre-Marie Pédrot <pierre-marie.pedrot@inria.fr>2014-09-04 15:22:27 +0200
commit3806d567af6b1feee2c8f196199eee4208a8551d (patch)
tree5e6a7657058d52f18869c3bdfa618e5f7bb26b90 /tactics
parentf3b714f5a8e516ee9731d705808a4084caae5a1e (diff)
Typing.sort_of does not leak evarmaps anymore.
Diffstat (limited to 'tactics')
-rw-r--r--tactics/rewrite.ml5
1 files changed, 3 insertions, 2 deletions
diff --git a/tactics/rewrite.ml b/tactics/rewrite.ml
index b67aee7f7..5c2e3ec29 100644
--- a/tactics/rewrite.ml
+++ b/tactics/rewrite.ml
@@ -1379,9 +1379,10 @@ exception RewriteFailure of Pp.std_ppcmds
type result = (evar_map * constr option * types) option option
let cl_rewrite_clause_aux ?(abs=None) strat env avoid sigma concl is_hyp : result =
- let evars = (sigma, Evar.Set.empty) in
+ let evdref = ref sigma in
+ let sort = Typing.sort_of env evdref concl in
+ let evars = (!evdref, Evar.Set.empty) in
let evars, cstr =
- let sort = Typing.sort_of env (goalevars evars) concl in
let prop, (evars, arrow) =
if is_prop_sort sort then true, app_poly_sort true env evars impl [||]
else false, app_poly_sort false env evars TypeGlobal.arrow [||]