aboutsummaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
Diffstat (limited to 'kernel')
-rw-r--r--kernel/declareops.ml7
1 files changed, 3 insertions, 4 deletions
diff --git a/kernel/declareops.ml b/kernel/declareops.ml
index ac3aad15e7..76d9876c49 100644
--- a/kernel/declareops.ml
+++ b/kernel/declareops.ml
@@ -89,10 +89,9 @@ let hcons_const_def = function
let constr = force l_constr in
Def (from_val (Term.hcons_constr constr))
| OpaqueDef lc ->
- if Future.is_val lc then
- let constr = force_opaque (Future.force lc) in
- OpaqueDef (Future.from_val (opaque_from_val (Term.hcons_constr constr)))
- else OpaqueDef lc
+ OpaqueDef
+ (Future.chain ~pure:true lc
+ (fun lc -> opaque_from_val (Term.hcons_constr (force_opaque lc))))
let hcons_const_body cb =
{ cb with