diff options
| author | Pierre-Marie Pédrot | 2018-09-23 19:24:26 +0200 |
|---|---|---|
| committer | Pierre-Marie Pédrot | 2018-09-26 13:53:40 +0200 |
| commit | d4f034dceb2742459d4cce0d1d74ae9d59106a4d (patch) | |
| tree | 9b41c54b4929aec901cc660ed89d77a7781a0863 /pretyping/pretyping.ml | |
| parent | 8292c485bde7911bf8a4d626faf9292ba0016e97 (diff) | |
Making cases.ml use state-passing instead of the evdref idiom.
Diffstat (limited to 'pretyping/pretyping.ml')
| -rw-r--r-- | pretyping/pretyping.ml | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/pretyping/pretyping.ml b/pretyping/pretyping.ml index e3aa90fbcf..8774cdf080 100644 --- a/pretyping/pretyping.ml +++ b/pretyping/pretyping.ml @@ -913,7 +913,15 @@ let rec pretype k0 resolve_tc (tycon : type_constraint) (env : GlobEnv.t) evdref inh_conv_coerce_to_tycon ?loc env evdref cj tycon | GCases (sty,po,tml,eqns) -> - Cases.compile_cases ?loc sty (pretype,evdref) tycon env (po,tml,eqns) + let pretype tycon env sigma c = + let evdref = ref sigma in + let t = pretype tycon env evdref c in + !evdref, t + in + let sigma = !evdref in + let sigma, j = Cases.compile_cases ?loc sty (pretype, sigma) tycon env (po,tml,eqns) in + let () = evdref := sigma in + j | GCast (c,k) -> let cj = |
