diff options
| author | Graydon Hoare <[email protected]> | 2010-10-15 22:09:09 -0700 |
|---|---|---|
| committer | Graydon Hoare <[email protected]> | 2010-10-15 22:09:09 -0700 |
| commit | 57c7e94c8f8d456c1737bd7dd2bf5c6962003cd0 (patch) | |
| tree | 3eea63d46aa8f01562bf02c33eca1e243df26470 /src/boot/me/resolve.ml | |
| parent | Finish the fold drivers in fold.rs. (diff) | |
| download | rust-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.ml | 8 |
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 |