diff options
| author | Tom Jakubowski <tom@crystae.net> | 2014-12-20 10:08:16 -0800 |
|---|---|---|
| committer | Tom Jakubowski <tom@crystae.net> | 2014-12-20 10:08:16 -0800 |
| commit | fb9b45189effece40b2b672fc4fd3b01e15f19cb (patch) | |
| tree | a4208f5331656e77abbd35937646c49d9a1f9da7 /src | |
| parent | 44f6f52578d5711ba8f395c8d5da577bb3c5fe15 (diff) | |
| download | rust-fb9b45189effece40b2b672fc4fd3b01e15f19cb.tar.gz rust-fb9b45189effece40b2b672fc4fd3b01e15f19cb.zip | |
Visit + encode stability for foreign items
Fix #19649
Diffstat (limited to 'src')
| -rw-r--r-- | src/librustc/metadata/encoder.rs | 4 | ||||
| -rw-r--r-- | src/librustc/middle/stability.rs | 4 |
2 files changed, 8 insertions, 0 deletions
diff --git a/src/librustc/metadata/encoder.rs b/src/librustc/metadata/encoder.rs index 8eb902f0797..e5dae926db9 100644 --- a/src/librustc/metadata/encoder.rs +++ b/src/librustc/metadata/encoder.rs @@ -1479,6 +1479,8 @@ fn encode_info_for_foreign_item(ecx: &EncodeContext, 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) => { @@ -1490,6 +1492,8 @@ 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 ca8029fdfca..3e874f46a33 100644 --- a/src/librustc/middle/stability.rs +++ b/src/librustc/middle/stability.rs @@ -111,6 +111,10 @@ impl<'v> Visitor<'v> for Annotator { fn visit_struct_field(&mut self, s: &StructField) { self.annotate(s.node.id, &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 { |
