aboutsummaryrefslogtreecommitdiff
path: root/pretyping/reductionops.ml
diff options
context:
space:
mode:
authorherbelin2008-03-10 23:17:57 +0000
committerherbelin2008-03-10 23:17:57 +0000
commit77091f657e7393fc9d83a414542d2e2e2dd1e735 (patch)
treea5fa8defd64e58a4370a6f6e847b4245ed5f632d /pretyping/reductionops.ml
parent6b01f89b083bf8acc666264222131d6ce2bb06bf (diff)
Pas très propre de reposer sur la capture des anomalies (et cela
complique le débogage...). Réécriture de 2 morceaux de code qui utilisaient les anomalies à des fins détournées de leur intention. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@10653 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'pretyping/reductionops.ml')
-rw-r--r--pretyping/reductionops.ml5
1 files changed, 3 insertions, 2 deletions
diff --git a/pretyping/reductionops.ml b/pretyping/reductionops.ml
index 617bd77174..c7af265ce8 100644
--- a/pretyping/reductionops.ml
+++ b/pretyping/reductionops.ml
@@ -929,8 +929,9 @@ let meta_value evd mv =
let meta_reducible_instance evd b =
let fm = Metaset.elements b.freemetas in
let metas = List.fold_left (fun l mv ->
- try let g,(_,s) = meta_fvalue evd mv in (mv,(g.rebus,s))::l
- with Anomaly _ | Not_found -> l) [] fm in
+ match (try meta_opt_fvalue evd mv with Not_found -> None) with
+ | Some (g,(_,s)) -> (mv,(g.rebus,s))::l
+ | None -> l) [] in
let rec irec u =
let u = whd_betaiota u in
match kind_of_term u with