aboutsummaryrefslogtreecommitdiff
path: root/plugins/ltac/pptactic.ml
diff options
context:
space:
mode:
authorMaxime Dénès2017-10-03 11:45:31 +0200
committerMaxime Dénès2017-10-03 11:45:31 +0200
commitafe519db64b4864b5a901ab96a1e4297e9316b14 (patch)
tree9fe22a04fcfd049081dedb6f9262a3a321176d03 /plugins/ltac/pptactic.ml
parente33cd69ab6fcb38478a6c0e00628a5de16181906 (diff)
parentb772c323f62b322c9b0a4ab90c7de8b1e2066bae (diff)
Merge PR #1040: Efficient fresh name generation
Diffstat (limited to 'plugins/ltac/pptactic.ml')
-rw-r--r--plugins/ltac/pptactic.ml10
1 files changed, 5 insertions, 5 deletions
diff --git a/plugins/ltac/pptactic.ml b/plugins/ltac/pptactic.ml
index f4e3ba633f..8a0764975d 100644
--- a/plugins/ltac/pptactic.ml
+++ b/plugins/ltac/pptactic.ml
@@ -662,14 +662,14 @@ type 'a extra_genarg_printer =
let names =
List.fold_left
(fun ln (nal,_) -> List.fold_left
- (fun ln na -> match na with (_,Name id) -> id::ln | _ -> ln)
+ (fun ln na -> match na with (_,Name id) -> Id.Set.add id ln | _ -> ln)
ln nal)
- [] bll in
+ Id.Set.empty bll in
let idarg,bll = set_nth_name names n bll in
- let annot = match names with
- | [_] ->
+ let annot =
+ if Int.equal (Id.Set.cardinal names) 1 then
mt ()
- | _ ->
+ else
spc() ++ str"{"
++ keyword "struct" ++ spc ()
++ pr_id idarg ++ str"}"