aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--kernel/cooking.ml2
-rw-r--r--kernel/cooking.mli3
-rw-r--r--kernel/safe_typing.ml4
3 files changed, 5 insertions, 4 deletions
diff --git a/kernel/cooking.ml b/kernel/cooking.ml
index e8ed6ca32..1bccf60f6 100644
--- a/kernel/cooking.ml
+++ b/kernel/cooking.ml
@@ -162,4 +162,4 @@ let cook_constant env r =
let hyps = List.map (fun (sp,c,t) -> (basename sp,c,t)) cb.const_hyps in
let hyps = map_named_context (expmod_constr env r.d_modlist) hyps in
let body,typ = abstract_constant r.d_abstract hyps (body,typ) in
- (body, typ, cb.const_constraints)
+ (body, typ, cb.const_constraints, cb.const_opaque)
diff --git a/kernel/cooking.mli b/kernel/cooking.mli
index db2ba1551..48f4dfc83 100644
--- a/kernel/cooking.mli
+++ b/kernel/cooking.mli
@@ -33,7 +33,8 @@ type recipe = {
d_abstract : identifier list;
d_modlist : work_list }
-val cook_constant : env -> recipe -> constr option * constr * constraints
+val cook_constant :
+ env -> recipe -> constr option * constr * constraints * bool
(*s Utility functions used in module [Discharge]. *)
diff --git a/kernel/safe_typing.ml b/kernel/safe_typing.ml
index d7a57e2d9..1c7d5e17f 100644
--- a/kernel/safe_typing.ml
+++ b/kernel/safe_typing.ml
@@ -305,7 +305,7 @@ let add_constant sp ce locals env =
sp env locals (safe_infer_declaration env (Def body')) op
let add_discharged_constant sp r locals env =
- let (body,typ,cst) = Cooking.cook_constant env r in
+ let (body,typ,cst,op) = Cooking.cook_constant env r in
let env' = add_constraints cst env in
match body with
| None ->
@@ -322,7 +322,7 @@ let add_discharged_constant sp r locals env =
const_type = typ;
const_hyps = sp_hyps;
const_constraints = cst;
- const_opaque = false }
+ const_opaque = op }
in
Environ.add_constant sp cb env'