diff options
| author | Alex Crichton <alex@alexcrichton.com> | 2014-12-21 00:04:28 -0800 |
|---|---|---|
| committer | Alex Crichton <alex@alexcrichton.com> | 2014-12-21 09:27:37 -0800 |
| commit | 97f605e858561b1ec69781a761f3a39942eaf28e (patch) | |
| tree | 1816680d14b605ffa921b777390f4635ce752c26 | |
| parent | 40e1f7c6ba14b7a60d6d5abb0e86c7c3257ce802 (diff) | |
| parent | fb9b45189effece40b2b672fc4fd3b01e15f19cb (diff) | |
| download | rust-97f605e858561b1ec69781a761f3a39942eaf28e.tar.gz rust-97f605e858561b1ec69781a761f3a39942eaf28e.zip | |
rollup merge of #20081: tomjakubowski/issue-19646
Encode foreign item attributes and stability levels and visit foreign items in the stability visitor. cc @Gankro
| -rw-r--r-- | src/librustc/metadata/encoder.rs | 6 | ||||
| -rw-r--r-- | src/librustc/middle/stability.rs | 4 |
2 files changed, 10 insertions, 0 deletions
diff --git a/src/librustc/metadata/encoder.rs b/src/librustc/metadata/encoder.rs index deb86397eda..e5dae926db9 100644 --- a/src/librustc/metadata/encoder.rs +++ b/src/librustc/metadata/encoder.rs @@ -1478,6 +1478,9 @@ fn encode_info_for_foreign_item(ecx: &EncodeContext, if abi == abi::RustIntrinsic { encode_inlined_item(ecx, rbml_w, IIForeignRef(nitem)); } + encode_attributes(rbml_w, &*nitem.attrs); + let stab = stability::lookup(ecx.tcx, ast_util::local_def(nitem.id)); + encode_stability(rbml_w, stab); encode_symbol(ecx, rbml_w, nitem.id); } ast::ForeignItemStatic(_, mutbl) => { @@ -1488,6 +1491,9 @@ fn encode_info_for_foreign_item(ecx: &EncodeContext, } encode_bounds_and_type(rbml_w, ecx, &lookup_item_type(ecx.tcx,local_def(nitem.id))); + encode_attributes(rbml_w, &*nitem.attrs); + let stab = stability::lookup(ecx.tcx, ast_util::local_def(nitem.id)); + encode_stability(rbml_w, stab); encode_symbol(ecx, rbml_w, nitem.id); encode_name(rbml_w, nitem.ident.name); } diff --git a/src/librustc/middle/stability.rs b/src/librustc/middle/stability.rs index c4a5fd2f14a..9d032df67dc 100644 --- a/src/librustc/middle/stability.rs +++ b/src/librustc/middle/stability.rs @@ -129,6 +129,10 @@ impl<'v> Visitor<'v> for Annotator { self.annotate(s.node.id, true, &s.node.attrs, |v| visit::walk_struct_field(v, s)); } + + fn visit_foreign_item(&mut self, i: &ast::ForeignItem) { + self.annotate(i.id, &i.attrs, |_| {}); + } } impl Index { |
