Skip to content

Commit c67679e

Browse files
committed
Write out the AST for all externally-reachable generics
1 parent b2e4872 commit c67679e

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

src/rustc/metadata/encoder.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,8 @@ fn encode_module_item_paths(ebml_w: ebml::writer, ecx: @encode_ctxt,
8080
module: _mod, path: [str], &index: [entry<str>]) {
8181
// FIXME factor out add_to_index/start/encode_name/encode_def_id/end ops
8282
for it: @item in module.items {
83-
if !ecx.reachable.contains_key(it.id) { cont; }
83+
if !ecx.reachable.contains_key(it.id) ||
84+
!ast_util::is_exported(it.ident, module) { cont; }
8485
alt it.node {
8586
item_const(_, _) {
8687
add_to_index(ebml_w, path, index, it.ident);
@@ -362,7 +363,7 @@ fn encode_info_for_item(ecx: @encode_ctxt, ebml_w: ebml::writer, item: @item,
362363
encode_type(ecx, ebml_w, node_id_to_type(tcx, item.id));
363364
encode_symbol(ecx, ebml_w, item.id);
364365
encode_path(ebml_w, path, ast_map::path_name(item.ident));
365-
if should_inline(item.attrs) {
366+
if tps.len() > 0u || should_inline(item.attrs) {
366367
astencode::encode_inlined_item(ecx, ebml_w, path, ii_item(item));
367368
}
368369
ebml_w.end_tag();

0 commit comments

Comments
 (0)