aboutsummaryrefslogtreecommitdiff
path: root/src/boot/me/resolve.ml
diff options
context:
space:
mode:
authorGraydon Hoare <[email protected]>2010-10-15 22:09:09 -0700
committerGraydon Hoare <[email protected]>2010-10-15 22:09:09 -0700
commit57c7e94c8f8d456c1737bd7dd2bf5c6962003cd0 (patch)
tree3eea63d46aa8f01562bf02c33eca1e243df26470 /src/boot/me/resolve.ml
parentFinish the fold drivers in fold.rs. (diff)
downloadrust-57c7e94c8f8d456c1737bd7dd2bf5c6962003cd0.tar.xz
rust-57c7e94c8f8d456c1737bd7dd2bf5c6962003cd0.zip
Encode and decode tag types in dwarf properly. Add list module to std. Shift rustc to use std.util.option. Fix various dependent bugs. Closes #73.
Diffstat (limited to 'src/boot/me/resolve.ml')
-rw-r--r--src/boot/me/resolve.ml8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/boot/me/resolve.ml b/src/boot/me/resolve.ml
index 8372b64a..d0b54a74 100644
--- a/src/boot/me/resolve.ml
+++ b/src/boot/me/resolve.ml
@@ -445,8 +445,12 @@ let type_resolving_visitor
(fun (s,_) -> (slot_ty (resolve_slot_identified s).node))
slots
in
- htab_put tinfo.tag_idents id (n, item.id, ttup);
- htab_put tinfo.tag_nums n (id, item.id, ttup);
+ if not (Hashtbl.mem tinfo.tag_idents id)
+ then
+ begin
+ htab_put tinfo.tag_idents id (n, item.id, ttup);
+ htab_put tinfo.tag_nums n (id, item.id, ttup);
+ end
| _ -> resolve_and_store_type ()
with