diff options
author | Matthieu Sozeau <mattam@mattam.org> | 2015-01-05 16:33:20 +0100 |
---|---|---|
committer | Matthieu Sozeau <mattam@mattam.org> | 2015-01-05 16:39:48 +0100 |
commit | 1c186562c2fc628d9ec4b6cda888750a642da117 (patch) | |
tree | 6f02036ca12c5cbc073a282366fca9b06d77503f /kernel/indtypes.ml | |
parent | ba2ad4fdcfb7e56a71c5797b82644cc9a49dd18f (diff) |
kernel/ind Change interface of declare_mind and declare_mutual
Removing unused argument and fixing bug #3899, now warning when a record
cannot be made primitive in Set Primitive Projections mode because it
has no projection or at least one undefinable projection.
Diffstat (limited to 'kernel/indtypes.ml')
-rw-r--r-- | kernel/indtypes.ml | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/kernel/indtypes.ml b/kernel/indtypes.ml index 61ce63f1b..481e333cc 100644 --- a/kernel/indtypes.ml +++ b/kernel/indtypes.ml @@ -782,7 +782,8 @@ let build_inductive env p prv ctx env_ar params kn isrecord isfinite inds nmr re let pkt = packets.(0) in let isrecord = match isrecord with - | Some (Some rid) when pkt.mind_kelim == all_sorts && Array.length pkt.mind_consnames == 1 -> + | Some (Some rid) when pkt.mind_kelim == all_sorts && Array.length pkt.mind_consnames == 1 + && pkt.mind_consnrealargs.(0) > 0 -> (** The elimination criterion ensures that all projections can be defined. *) let u = if p then |