@@ -896,6 +896,7 @@ fn encode_info_for_item(ecx: @EncodeContext, ebml_w: writer::Encoder,
896896 encode_family(ebml_w, purity_fn_family(mty.fty.purity));
897897 encode_self_type(ebml_w, mty.self_ty);
898898 encode_method_sort(ebml_w, 'r');
899+ encode_visibility(ebml_w, ast::public);
899900 ebml_w.end_tag();
900901 }
901902 provided(m) => {
@@ -911,6 +912,7 @@ fn encode_info_for_item(ecx: @EncodeContext, ebml_w: writer::Encoder,
911912 encode_family(ebml_w, purity_fn_family(mty.fty.purity));
912913 encode_self_type(ebml_w, mty.self_ty);
913914 encode_method_sort(ebml_w, 'p');
915+ encode_visibility(ebml_w, m.vis);
914916 ebml_w.end_tag();
915917 }
916918 }
@@ -945,6 +947,11 @@ fn encode_info_for_item(ecx: @EncodeContext, ebml_w: writer::Encoder,
945947 let mut m_path = vec::append(~[], path); // :-(
946948 m_path += [ast_map::path_name(item.ident)];
947949 encode_path(ecx, ebml_w, m_path, ast_map::path_name(ty_m.ident));
950+
951+ // For now, use the item visibility until trait methods can have
952+ // real visibility in the AST.
953+ encode_visibility(ebml_w, item.vis);
954+
948955 ebml_w.end_tag();
949956 }
950957
@@ -1033,7 +1040,7 @@ fn encode_info_for_items(ecx: @EncodeContext, ebml_w: writer::Encoder,
10331040 |ni, cx, v| {
10341041 visit::visit_foreign_item(ni, cx, v);
10351042 match ecx.tcx.items.get(&ni.id) {
1036- ast_map::node_foreign_item(_, abi, pt) => {
1043+ ast_map::node_foreign_item(_, abi, _, pt) => {
10371044 encode_info_for_foreign_item(ecx, ebml_w, ni,
10381045 index, /*bad*/copy *pt,
10391046 abi);
0 commit comments