aboutsummaryrefslogtreecommitdiffhomepage
path: root/checker/subtyping.ml
diff options
context:
space:
mode:
authorGravatar Pierre-Marie Pédrot <pierre-marie.pedrot@inria.fr>2018-06-04 15:26:20 +0200
committerGravatar Pierre-Marie Pédrot <pierre-marie.pedrot@inria.fr>2018-06-17 11:44:04 +0200
commite43710b391c278ac7fcb808ec28d720b4317660c (patch)
tree00c9b48f65ed5567e1fcac31a344944d6ea148b9 /checker/subtyping.ml
parenta4839aa1ff076a8938ca182615a93d6afe748860 (diff)
Remove the proj_body field from the kernel.
This was completely wrong, such a term could not even be type-checked by the kernel as it was internally using a match construct over a negative record. They were luckily only used in upper layers, namley printing and extraction. Recomputing the projection body might be costly in detyping, but this only happens when the compatibility flag is turned on, which is not the default. Such flag is probably bound to disappear anyways. Extraction should be fixed though so as to define directly primitive projections, similarly to what has been done in native compute.
Diffstat (limited to 'checker/subtyping.ml')
-rw-r--r--checker/subtyping.ml2
1 files changed, 1 insertions, 1 deletions
diff --git a/checker/subtyping.ml b/checker/subtyping.ml
index 6f9bf8fce..f4ae02084 100644
--- a/checker/subtyping.ml
+++ b/checker/subtyping.ml
@@ -130,7 +130,7 @@ let check_inductive env mp1 l info1 mib2 spec2 subst1 subst2=
check (==) (fun x -> x.proj_npars);
check (==) (fun x -> x.proj_arg);
check (eq_constr) (fun x -> x.proj_type);
- check (eq_constr) (fun x -> x.proj_body); true
+ true
in
let check_inductive_type t1 t2 =