|
8 | 8 | // option. This file may not be copied, modified, or distributed
|
9 | 9 | // except according to those terms.
|
10 | 10 |
|
| 11 | +use rustc::hir; |
11 | 12 | use rustc::hir::map as ast_map;
|
12 | 13 |
|
13 |
| -use rustc::hir::intravisit::{Visitor, IdRangeComputingVisitor, IdRange}; |
| 14 | +use rustc::hir::intravisit::{Visitor, IdRangeComputingVisitor, IdRange, NestedVisitMode}; |
14 | 15 |
|
15 | 16 | use cstore::CrateMetadata;
|
16 | 17 | use encoder::EncodeContext;
|
@@ -43,7 +44,7 @@ enum TableEntry<'tcx> {
|
43 | 44 | }
|
44 | 45 |
|
45 | 46 | impl<'a, 'tcx> EncodeContext<'a, 'tcx> {
|
46 |
| - pub fn encode_inlined_item(&mut self, ii: InlinedItemRef) -> Lazy<Ast<'tcx>> { |
| 47 | + pub fn encode_inlined_item(&mut self, ii: InlinedItemRef<'tcx>) -> Lazy<Ast<'tcx>> { |
47 | 48 | let mut id_visitor = IdRangeComputingVisitor::new(&self.tcx.map);
|
48 | 49 | match ii {
|
49 | 50 | InlinedItemRef::Item(_, i) => id_visitor.visit_item(i),
|
@@ -81,7 +82,11 @@ struct SideTableEncodingIdVisitor<'a, 'b: 'a, 'tcx: 'b> {
|
81 | 82 | count: usize,
|
82 | 83 | }
|
83 | 84 |
|
84 |
| -impl<'a, 'b, 'tcx, 'v> Visitor<'v> for SideTableEncodingIdVisitor<'a, 'b, 'tcx> { |
| 85 | +impl<'a, 'b, 'tcx> Visitor<'tcx> for SideTableEncodingIdVisitor<'a, 'b, 'tcx> { |
| 86 | + fn nested_visit_map(&mut self) -> Option<(&hir::map::Map<'tcx>, NestedVisitMode)> { |
| 87 | + Some((&self.ecx.tcx.map, NestedVisitMode::OnlyBodies)) |
| 88 | + } |
| 89 | + |
85 | 90 | fn visit_id(&mut self, id: ast::NodeId) {
|
86 | 91 | debug!("Encoding side tables for id {}", id);
|
87 | 92 |
|
|
0 commit comments