aboutsummaryrefslogtreecommitdiff
path: root/vernac/comInductive.ml
diff options
context:
space:
mode:
authorcoqbot-app[bot]2020-11-27 20:55:41 +0000
committerGitHub2020-11-27 20:55:41 +0000
commit79946db207944b7bda1287459edfccbbd211ce1e (patch)
tree1db93e6796b89723b2cb9d774dea6b2261c2e93f /vernac/comInductive.ml
parent0501761b95f4fd3e22b93aa6bce8c9f96b88495b (diff)
parent1f0f1ae93f757be8101d598f8aaf5b564bde9dcd (diff)
Merge PR #12586: [declare] Allow custom typing flags when declaring constants.
Reviewed-by: SkySkimmer Reviewed-by: Zimmi48 Reviewed-by: gares Reviewed-by: herbelin Ack-by: jfehrle
Diffstat (limited to 'vernac/comInductive.ml')
-rw-r--r--vernac/comInductive.ml8
1 files changed, 5 insertions, 3 deletions
diff --git a/vernac/comInductive.ml b/vernac/comInductive.ml
index 8cb077ca21..2be6097184 100644
--- a/vernac/comInductive.ml
+++ b/vernac/comInductive.ml
@@ -631,7 +631,7 @@ type uniform_inductive_flag =
| UniformParameters
| NonUniformParameters
-let do_mutual_inductive ~template udecl indl ~cumulative ~poly ~private_ind ~uniform finite =
+let do_mutual_inductive ~template udecl indl ~cumulative ~poly ?typing_flags ~private_ind ~uniform finite =
let (params,indl),coes,ntns = extract_mutual_inductive_declaration_components indl in
(* Interpret the types *)
let indl = match params with
@@ -640,9 +640,11 @@ let do_mutual_inductive ~template udecl indl ~cumulative ~poly ~private_ind ~uni
| UniformParameters -> (params, [], indl)
| NonUniformParameters -> ([], params, indl)
in
- let mie,pl,impls = interp_mutual_inductive_gen (Global.env()) ~template udecl indl ntns ~cumulative ~poly ~private_ind finite in
+ let env = Global.env () in
+ let env = Environ.update_typing_flags ?typing_flags env in
+ let mie,pl,impls = interp_mutual_inductive_gen env ~template udecl indl ntns ~cumulative ~poly ~private_ind finite in
(* Declare the mutual inductive block with its associated schemes *)
- ignore (DeclareInd.declare_mutual_inductive_with_eliminations mie pl impls);
+ ignore (DeclareInd.declare_mutual_inductive_with_eliminations ?typing_flags mie pl impls);
(* Declare the possible notations of inductive types *)
List.iter (Metasyntax.add_notation_interpretation (Global.env ())) ntns;
(* Declare the coercions *)