Skip to content

Commit 742b1c5

Browse files
committed
Report an error instead of asserting when an item name is already in use
1 parent 1f0621d commit 742b1c5

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

src/boot/fe/item.ml

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1240,9 +1240,13 @@ and parse_use
12401240
[| (ident, item) |]
12411241

12421242
and parse_item_decl ps items fn =
1243-
Array.iter
1244-
(fun (id,it) -> htab_put items id it)
1245-
(fn ps);
1243+
let add (id, item) =
1244+
if Hashtbl.mem items id then
1245+
raise (Parse_err
1246+
(ps, (Printf.sprintf "item name already in use: '%s'" id)));
1247+
Hashtbl.add items id item
1248+
in
1249+
Array.iter add (fn ps)
12461250

12471251
and parse_mod_header (ps:pstate)
12481252
: (Ast.mod_view * Ast.mod_items) =

0 commit comments

Comments
 (0)