diff options
author | Hugo Herbelin <Hugo.Herbelin@inria.fr> | 2017-05-20 18:23:05 +0200 |
---|---|---|
committer | Hugo Herbelin <Hugo.Herbelin@inria.fr> | 2017-05-31 00:44:26 +0200 |
commit | 5c30cf26474aa4f52d26005c797130a0d6d21ab5 (patch) | |
tree | 939e8b9983d431ff6a84a1026daef6d4ca17371d /interp | |
parent | 99fe89385f6590aac5bc2dadf246c3d021986f7c (diff) |
Fixing a failure to interpret some local implicit arguments in Inductive.
For instance, the following was failing to use the implicitness of n:
Inductive A (P:forall m {n}, n=m -> Prop) := C : P 0 eq_refl -> A P.
Diffstat (limited to 'interp')
-rw-r--r-- | interp/constrintern.ml | 4 | ||||
-rw-r--r-- | interp/constrintern.mli | 2 |
2 files changed, 3 insertions, 3 deletions
diff --git a/interp/constrintern.ml b/interp/constrintern.ml index 4dcf287ef..3dfc85041 100644 --- a/interp/constrintern.ml +++ b/interp/constrintern.ml @@ -190,10 +190,10 @@ let compute_internalization_data env ty typ impl = let expls_impl = compute_explicitable_implicit impl ty in (ty, expls_impl, impl, compute_arguments_scope typ) -let compute_internalization_env env ty = +let compute_internalization_env env ?(impls=empty_internalization_env) ty = List.fold_left3 (fun map id typ impl -> Id.Map.add id (compute_internalization_data env ty typ impl) map) - empty_internalization_env + impls (**********************************************************************) (* Contracting "{ _ }" in notations *) diff --git a/interp/constrintern.mli b/interp/constrintern.mli index 644cafe57..f3306b592 100644 --- a/interp/constrintern.mli +++ b/interp/constrintern.mli @@ -61,7 +61,7 @@ val empty_internalization_env : internalization_env val compute_internalization_data : env -> var_internalization_type -> types -> Impargs.manual_explicitation list -> var_internalization_data -val compute_internalization_env : env -> var_internalization_type -> +val compute_internalization_env : env -> ?impls:internalization_env -> var_internalization_type -> Id.t list -> types list -> Impargs.manual_explicitation list list -> internalization_env |