From 742b1c57938137f5d9a6676d40affc0c39348321 Mon Sep 17 00:00:00 2001 From: Patrick Walton Date: Tue, 21 Sep 2010 17:38:18 -0700 Subject: Report an error instead of asserting when an item name is already in use --- src/boot/fe/item.ml | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'src/boot') diff --git a/src/boot/fe/item.ml b/src/boot/fe/item.ml index 14ef6951..5340d262 100644 --- a/src/boot/fe/item.ml +++ b/src/boot/fe/item.ml @@ -1240,9 +1240,13 @@ and parse_use [| (ident, item) |] and parse_item_decl ps items fn = - Array.iter - (fun (id,it) -> htab_put items id it) - (fn ps); + let add (id, item) = + if Hashtbl.mem items id then + raise (Parse_err + (ps, (Printf.sprintf "item name already in use: '%s'" id))); + Hashtbl.add items id item + in + Array.iter add (fn ps) and parse_mod_header (ps:pstate) : (Ast.mod_view * Ast.mod_items) = -- cgit v1.2.3