aboutsummaryrefslogtreecommitdiffhomepage
path: root/kernel
diff options
context:
space:
mode:
Diffstat (limited to 'kernel')
-rw-r--r--kernel/inductive.ml12
1 files changed, 5 insertions, 7 deletions
diff --git a/kernel/inductive.ml b/kernel/inductive.ml
index e3e636e4a..3c7103ac5 100644
--- a/kernel/inductive.ml
+++ b/kernel/inductive.ml
@@ -421,10 +421,10 @@ type subterm_spec =
let eq_wf_paths = Rtree.equal Declareops.eq_recarg
-let spec_of_tree t = lazy
- (if eq_wf_paths (Lazy.force t) mk_norec
- then Not_subterm
- else Subterm(Strict,Lazy.force t))
+let spec_of_tree t =
+ if eq_wf_paths t mk_norec
+ then Not_subterm
+ else Subterm (Strict, t)
let subterm_spec_glb =
let glb2 s1 s2 =
@@ -526,9 +526,7 @@ let branches_specif renv c_spec ci =
Subterm (_,t) when match_inductive ci.ci_ind (dest_recarg t) ->
let vra = Array.of_list (dest_subterms t).(i) in
assert (Int.equal nca (Array.length vra));
- Array.map
- (fun t -> Lazy.force (spec_of_tree (lazy t)))
- vra
+ Array.map spec_of_tree vra
| Dead_code -> Array.make nca Dead_code
| _ -> Array.make nca Not_subterm) in
List.init nca (fun j -> lazy (Lazy.force lvra).(j)))