about summary refs log tree commit diff
path: root/src/rustc/metadata
diff options
context:
space:
mode:
authorPatrick Walton <pcwalton@mimiga.net>2012-08-03 15:02:01 -0700
committerPatrick Walton <pcwalton@mimiga.net>2012-08-03 15:02:53 -0700
commitb65dd9d0908ba75ee4cf128058858aea87e4508a (patch)
tree794ee6f47d188314a2b0256fd954cbcf8219331c /src/rustc/metadata
parenta805a1fb37443601819604954510cb312a724fe9 (diff)
downloadrust-b65dd9d0908ba75ee4cf128058858aea87e4508a.tar.gz
rust-b65dd9d0908ba75ee4cf128058858aea87e4508a.zip
rustc: Parse, serialize, and deserialize trait inheritance
Diffstat (limited to 'src/rustc/metadata')
-rw-r--r--src/rustc/metadata/encoder.rs5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/rustc/metadata/encoder.rs b/src/rustc/metadata/encoder.rs
index 256d8e310c4..a5d398c7ad0 100644
--- a/src/rustc/metadata/encoder.rs
+++ b/src/rustc/metadata/encoder.rs
@@ -813,7 +813,7 @@ fn encode_info_for_item(ecx: @encode_ctxt, ebml_w: ebml::writer, item: @item,
                                    vec::append(tps, m.tps));
         }
       }
-      item_trait(tps, ms) {
+      item_trait(tps, traits, ms) {
         add_to_index();
         ebml_w.start_tag(tag_items_data_item);
         encode_def_id(ebml_w, local_def(item.id));
@@ -844,6 +844,9 @@ fn encode_info_for_item(ecx: @encode_ctxt, ebml_w: ebml::writer, item: @item,
             i += 1u;
         }
         encode_path(ebml_w, path, ast_map::path_name(item.ident));
+        for traits.each |associated_trait| {
+           encode_trait_ref(ebml_w, ecx, associated_trait)
+        }
         ebml_w.end_tag();
       }
       item_mac(*) { fail ~"item macros unimplemented" }