From 1280a492b87f02aac8c8f8496ebd42039762d7e4 Mon Sep 17 00:00:00 2001 From: Gaƫtan Gilbert Date: Mon, 12 Oct 2020 15:13:15 +0200 Subject: Fix printing for empty primitive arrays Fix #13178 --- printing/ppconstr.ml | 10 +++------- test-suite/bugs/closed/bug_13178.v | 3 +++ 2 files changed, 6 insertions(+), 7 deletions(-) create mode 100644 test-suite/bugs/closed/bug_13178.v diff --git a/printing/ppconstr.ml b/printing/ppconstr.ml index 8da1d636f0..6f50f34f36 100644 --- a/printing/ppconstr.ml +++ b/printing/ppconstr.ml @@ -681,13 +681,9 @@ let tag_var = tag Tag.variable | CDelimiters (sc,a) -> return (pr_delimiters sc (pr mt (LevelLe ldelim) a), ldelim) | CArray(u, t,def,ty) -> - let pp = ref (str " |"++ spc () ++ pr mt ltop def - ++ pr_opt_type_spc (pr mt) ty ++ str " |]" ++ pr_universe_instance u) in - for i = Array.length t - 1 downto 1 do - pp := str ";" ++ pr mt ltop t.(i) ++ !pp - done; - pp := pr mt ltop t.(0) ++ !pp; - hov 0 (str "[|" ++ !pp), 0 + hov 0 (str "[|" ++ prvect_with_sep (fun () -> str "; ") (pr mt ltop) t ++ + str " |" ++ spc() ++ pr mt ltop def ++ pr_opt_type_spc (pr mt) ty ++ + str " |]" ++ pr_universe_instance u), 0 in let loc = constr_loc a in pr_with_comments ?loc diff --git a/test-suite/bugs/closed/bug_13178.v b/test-suite/bugs/closed/bug_13178.v new file mode 100644 index 0000000000..d9c516c362 --- /dev/null +++ b/test-suite/bugs/closed/bug_13178.v @@ -0,0 +1,3 @@ +Primitive array := #array_type. + +Check [| | 0 |]. -- cgit v1.2.3