aboutsummaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
Diffstat (limited to 'kernel')
-rw-r--r--kernel/inductive.ml5
1 files changed, 3 insertions, 2 deletions
diff --git a/kernel/inductive.ml b/kernel/inductive.ml
index fdd09436d4..2966acae45 100644
--- a/kernel/inductive.ml
+++ b/kernel/inductive.ml
@@ -1124,9 +1124,10 @@ let inductive_of_mutfix env ((nvect,bodynum),(names,types,bodies as recdef)) =
| _ -> raise_err env i NotEnoughAbstractionInFixBody
in
let ((ind, _), _) as res = check_occur fixenv 1 def in
- let _, ind = lookup_mind_specif env ind in
+ let _, mip = lookup_mind_specif env ind in
(* recursive sprop means non record with projections -> squashed *)
- if Sorts.Irrelevant == ind.mind_relevance
+ if mip.mind_relevance == Sorts.Irrelevant &&
+ not (Environ.is_type_in_type env (GlobRef.IndRef ind))
then
begin
if names.(i).Context.binder_relevance == Sorts.Relevant