aboutsummaryrefslogtreecommitdiffhomepage
path: root/pretyping/typeclasses.ml
diff options
context:
space:
mode:
authorGravatar msozeau <msozeau@85f007b7-540e-0410-9357-904b9bb8a0f7>2008-07-04 14:38:44 +0000
committerGravatar msozeau <msozeau@85f007b7-540e-0410-9357-904b9bb8a0f7>2008-07-04 14:38:44 +0000
commitff03e8dd0de507be82e58ed5e8fd902dfd7caf4b (patch)
treeede6bccf7f4dbcca84e5aca8a374b444527c1686 /pretyping/typeclasses.ml
parente4b265c5f51fbaf87054d13c036878964a98cfcd (diff)
Fixes in handling of implicit arguments:
- Now [ id : Class foo ] makes id an explicit argument, and [ Class foo ] is equivalent to [ {someid} : Class foo ]. This makes declarations such as "Class Ord [ eq : Eq a ]" have sensible implicit args. - Better handling of {} in class and record declarations, refactorize code for declaring structures and classes. - Fix merging of implicit arguments information on section closing. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11204 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'pretyping/typeclasses.ml')
-rw-r--r--pretyping/typeclasses.ml4
1 files changed, 1 insertions, 3 deletions
diff --git a/pretyping/typeclasses.ml b/pretyping/typeclasses.ml
index 530fec6d1..da30b2057 100644
--- a/pretyping/typeclasses.ml
+++ b/pretyping/typeclasses.ml
@@ -37,8 +37,6 @@ type typeclass = {
(* Context in which the definitions are typed. Includes both typeclass parameters and superclasses. *)
cl_context : ((global_reference * bool) option * rel_declaration) list;
- cl_params: int;
-
(* Context of definitions and properties on defs, will not be shared *)
cl_props : rel_context;
@@ -154,7 +152,7 @@ let subst (_,subst,(cl,m,inst)) =
let do_subst_projs projs = list_smartmap (fun (x, y) -> (x, do_subst_con y)) projs in
let subst_class k cl classes =
let k = do_subst_gr k in
- let cl' = { cl with cl_impl = k;
+ let cl' = { cl_impl = k;
cl_context = do_subst_ctx cl.cl_context;
cl_props = do_subst_named cl.cl_props;
cl_projs = do_subst_projs cl.cl_projs; }