aboutsummaryrefslogtreecommitdiff
path: root/checker
diff options
context:
space:
mode:
authorPierre-Marie Pédrot2020-01-29 15:57:36 +0100
committerPierre-Marie Pédrot2020-01-29 15:57:36 +0100
commit8c04d108e1f57d0e8e11483a7c9de721ab2f026a (patch)
tree28d83c15993beecdc50cfb990c1c4646cc47b623 /checker
parentc8aac351b7e0e9c98238eecbe2d8cf3c6f917373 (diff)
parent72201ba9afb95ed0bfdd9e9e2cdeb089b7224a76 (diff)
Merge PR #11399: Checker: use inductive's check_template flag
Reviewed-by: ppedrot
Diffstat (limited to 'checker')
-rw-r--r--checker/checkInductive.ml14
-rw-r--r--checker/check_stat.ml6
2 files changed, 15 insertions, 5 deletions
diff --git a/checker/checkInductive.ml b/checker/checkInductive.ml
index e606d60d96..a2cf44389e 100644
--- a/checker/checkInductive.ml
+++ b/checker/checkInductive.ml
@@ -144,10 +144,16 @@ let check_inductive env mind mb =
=
(* Locally set typing flags for further typechecking *)
let mb_flags = mb.mind_typing_flags in
- let env = Environ.set_typing_flags {env.env_typing_flags with check_guarded = mb_flags.check_guarded;
- check_positive = mb_flags.check_positive;
- check_universes = mb_flags.check_universes;
- conv_oracle = mb_flags.conv_oracle} env in
+ let env = Environ.set_typing_flags
+ {env.env_typing_flags with
+ check_guarded = mb_flags.check_guarded;
+ check_positive = mb_flags.check_positive;
+ check_universes = mb_flags.check_universes;
+ check_template = mb_flags.check_template;
+ conv_oracle = mb_flags.conv_oracle;
+ }
+ env
+ in
Indtypes.check_inductive env ~sec_univs:None mind entry
in
let check = check mind in
diff --git a/checker/check_stat.ml b/checker/check_stat.ml
index a67945ae94..d115744707 100644
--- a/checker/check_stat.ml
+++ b/checker/check_stat.ml
@@ -56,6 +56,9 @@ let pr_nonpositive env =
let inds = fold_inductives (fun c cb acc -> if not cb.mind_typing_flags.check_positive then MutInd.to_string c :: acc else acc) env [] in
pr_assumptions "Inductives whose positivity is assumed" inds
+let pr_unsafe_template env =
+ let inds = fold_inductives (fun c cb acc -> if not cb.mind_typing_flags.check_template then MutInd.to_string c :: acc else acc) env [] in
+ pr_assumptions "Inductives using unchecked template polymorphism" inds
let print_context env =
if !output_context then begin
@@ -67,7 +70,8 @@ let print_context env =
str "* " ++ hov 0 (pr_axioms env ++ fnl()) ++ fnl() ++
str "* " ++ hov 0 (pr_type_in_type env ++ fnl()) ++ fnl() ++
str "* " ++ hov 0 (pr_unguarded env ++ fnl()) ++ fnl() ++
- str "* " ++ hov 0 (pr_nonpositive env)))
+ str "* " ++ hov 0 (pr_nonpositive env ++ fnl()) ++ fnl() ++
+ str "* " ++ hov 0 (pr_unsafe_template env)))
end
let stats env =