aboutsummaryrefslogtreecommitdiff
path: root/interp/implicit_quantifiers.ml
diff options
context:
space:
mode:
authorHugo Herbelin2019-11-17 09:39:50 +0100
committerHugo Herbelin2019-11-19 20:03:53 +0100
commita81c2de033b37c22be1ca6794ab32347a9917610 (patch)
tree16aed2178d8586322bfa00a95703c3a06c5dc231 /interp/implicit_quantifiers.ml
parent622b4f3ace40313d8dc17141285da32de80b3183 (diff)
Fixing bugs in the computation of implicit arguments for fix with a let binder.
Diffstat (limited to 'interp/implicit_quantifiers.ml')
-rw-r--r--interp/implicit_quantifiers.ml6
1 files changed, 5 insertions, 1 deletions
diff --git a/interp/implicit_quantifiers.ml b/interp/implicit_quantifiers.ml
index 455471a472..4301242fd9 100644
--- a/interp/implicit_quantifiers.ml
+++ b/interp/implicit_quantifiers.ml
@@ -219,6 +219,10 @@ let implicits_of_glob_constr ?(with_products=true) l =
| GLetIn (na, b, t, c) -> aux c
| GRec (fix_kind, nas, args, tys, bds) ->
let nb = match fix_kind with |GFix (_, n) -> n | GCoFix n -> n in
- List.fold_right (fun (na,bk,t,_) l -> add_impl ?loc:c.CAst.loc na bk l) args.(nb) (aux bds.(nb))
+ List.fold_right (fun (na,bk,t,_) l ->
+ match t with
+ | Some _ -> l
+ | _ -> add_impl ?loc:c.CAst.loc na bk l)
+ args.(nb) (aux bds.(nb))
| _ -> []
in aux l