@@ -881,6 +881,7 @@ fn encode_info_for_item(ecx: @EncodeContext, ebml_w: writer::Encoder,
881881 encode_family(ebml_w, purity_fn_family(mty.fty.purity));
882882 encode_self_type(ebml_w, mty.self_ty);
883883 encode_method_sort(ebml_w, 'r');
884+ encode_visibility(ebml_w, ast::public);
884885 ebml_w.end_tag();
885886 }
886887 provided(m) => {
@@ -896,6 +897,7 @@ fn encode_info_for_item(ecx: @EncodeContext, ebml_w: writer::Encoder,
896897 encode_family(ebml_w, purity_fn_family(mty.fty.purity));
897898 encode_self_type(ebml_w, mty.self_ty);
898899 encode_method_sort(ebml_w, 'p');
900+ encode_visibility(ebml_w, m.vis);
899901 ebml_w.end_tag();
900902 }
901903 }
@@ -930,6 +932,11 @@ fn encode_info_for_item(ecx: @EncodeContext, ebml_w: writer::Encoder,
930932 let mut m_path = vec::append(~[], path); // :-(
931933 m_path += [ast_map::path_name(item.ident)];
932934 encode_path(ecx, ebml_w, m_path, ast_map::path_name(ty_m.ident));
935+
936+ // For now, use the item visibility until trait methods can have
937+ // real visibility in the AST.
938+ encode_visibility(ebml_w, item.vis);
939+
933940 ebml_w.end_tag();
934941 }
935942
@@ -1018,7 +1025,7 @@ fn encode_info_for_items(ecx: @EncodeContext, ebml_w: writer::Encoder,
10181025 |ni, cx, v| {
10191026 visit::visit_foreign_item(ni, cx, v);
10201027 match ecx.tcx.items.get(&ni.id) {
1021- ast_map::node_foreign_item(_, abi, pt) => {
1028+ ast_map::node_foreign_item(_, abi, _, pt) => {
10221029 encode_info_for_foreign_item(ecx, ebml_w, ni,
10231030 index, /*bad*/copy *pt,
10241031 abi);
0 commit comments