diff options
| author | Enrico Tassi | 2019-05-13 14:44:27 +0200 |
|---|---|---|
| committer | Enrico Tassi | 2019-05-13 14:44:27 +0200 |
| commit | 34fbc9cc6b30fc8e7dc2bd37756d5ede29074de0 (patch) | |
| tree | c59e91fc8ad41df8e5bd4280c44cc6da3cd20ffa /pretyping/recordops.mli | |
| parent | cfecef471c706beb50d70b951b148c9629a4064a (diff) | |
| parent | 4895bf8bb5d0acfaee499991973fc6537657427d (diff) | |
Merge PR #10076: [Canonical structures] Annotation to field declarations to prevent them from being “canonical”
Ack-by: SkySkimmer
Ack-by: Zimmi48
Reviewed-by: gares
Ack-by: maximedenes
Ack-by: robbertkrebbers
Ack-by: vbgl
Diffstat (limited to 'pretyping/recordops.mli')
| -rw-r--r-- | pretyping/recordops.mli | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/pretyping/recordops.mli b/pretyping/recordops.mli index f0594d513a..25b6cd0751 100644 --- a/pretyping/recordops.mli +++ b/pretyping/recordops.mli @@ -17,14 +17,20 @@ open Constr (** A structure S is a non recursive inductive type with a single constructor (the name of which defaults to Build_S) *) +type proj_kind = { + pk_name: Name.t; + pk_true_proj: bool; + pk_canonical: bool; +} + type struc_typ = { s_CONST : constructor; s_EXPECTEDPARAM : int; - s_PROJKIND : (Name.t * bool) list; + s_PROJKIND : proj_kind list; s_PROJ : Constant.t option list } type struc_tuple = - constructor * (Name.t * bool) list * Constant.t option list + constructor * proj_kind list * Constant.t option list val register_structure : Environ.env -> struc_tuple -> unit val subst_structure : Mod_subst.substitution -> struc_tuple -> struc_tuple |
