diff options
| -rw-r--r-- | kernel/modops.ml | 2 | ||||
| -rw-r--r-- | toplevel/record.ml | 9 |
2 files changed, 10 insertions, 1 deletions
diff --git a/kernel/modops.ml b/kernel/modops.ml index 47ea55fbaa..9da2f49622 100644 --- a/kernel/modops.ml +++ b/kernel/modops.ml @@ -77,7 +77,7 @@ let error_with_incorrect l = let error_a_generative_module_expected l = error ("The module " ^ string_of_label l ^ " is not generative. Only " ^ - "component of generative modules can be changed using the \"with\" " ^ + "components of generative modules can be changed using the \"with\" " ^ "construct.") let error_local_context lo = diff --git a/toplevel/record.ml b/toplevel/record.ml index d67c022a1e..fce531a31b 100644 --- a/toplevel/record.ml +++ b/toplevel/record.ml @@ -57,6 +57,15 @@ let binders_of_decls = List.map binder_of_decl let typecheck_params_and_fields id t ps nots fs = let env0 = Global.env () in let evars = ref Evd.empty in + let _ = + let error (loc, name) = + if name = Anonymous then + user_err_loc (loc, "record", str "Record parameters must be named") + in + List.iter + (function LocalRawDef (b, _) -> error b + | LocalRawAssum (ls, _, ce) -> List.iter error ls) ps + in let (env1,newps), imps = interp_context_evars evars env0 ps in let fullarity = it_mkProd_or_LetIn (Option.cata (fun x -> x) (Termops.new_Type ()) t) newps in let env_ar = push_rel_context newps (push_rel (Name id,None,fullarity) env0) in |
