diff options
| author | coqbot-app[bot] | 2020-11-03 21:12:10 +0000 |
|---|---|---|
| committer | GitHub | 2020-11-03 21:12:10 +0000 |
| commit | 008f6ebd3d681eb058646b375c07ce598e7a3149 (patch) | |
| tree | 91ea319f6e4ce449b66ca0ed054b35a8b0e56544 | |
| parent | c8a00cc28121836b073037007425d106de79d5e6 (diff) | |
| parent | 225a4ee2871b58661f9689255237a1e189ee6a4c (diff) | |
Merge PR #13179: Fix printing for empty primitive arrays
Reviewed-by: herbelin
| -rw-r--r-- | printing/ppconstr.ml | 11 | ||||
| -rw-r--r-- | test-suite/bugs/closed/bug_13178.v | 3 | ||||
| -rw-r--r-- | test-suite/output/prim_array.out | 9 | ||||
| -rw-r--r-- | test-suite/output/prim_array.v | 10 |
4 files changed, 26 insertions, 7 deletions
diff --git a/printing/ppconstr.ml b/printing/ppconstr.ml index 8da1d636f0..45d0e39ed6 100644 --- a/printing/ppconstr.ml +++ b/printing/ppconstr.ml @@ -681,13 +681,10 @@ 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 ++ + (if not (Array.is_empty t) then str " " else mt()) ++ + 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 |]. diff --git a/test-suite/output/prim_array.out b/test-suite/output/prim_array.out new file mode 100644 index 0000000000..6c12153ab9 --- /dev/null +++ b/test-suite/output/prim_array.out @@ -0,0 +1,9 @@ +[| | 0 : nat |] + : array nat +[| 1; 2; 3 | 0 : nat |] + : array nat +[| | 0 : nat |]@{Set} + : array@{Set} nat +[| bool; list nat | nat : Set |]@{prim_array.4} + : array@{prim_array.4} Set +(* {prim_array.4} |= Set < prim_array.4 *) diff --git a/test-suite/output/prim_array.v b/test-suite/output/prim_array.v new file mode 100644 index 0000000000..a82f6a16f1 --- /dev/null +++ b/test-suite/output/prim_array.v @@ -0,0 +1,10 @@ +Primitive array := #array_type. + +Check [| | 0 |]. + +Check [| 1; 2; 3 | 0 |]. + +Set Printing Universes. +Check [| | 0 |]. + +Check [| bool; list nat | nat |]. |
