//! Upvar (closure capture) collection from cross-body HIR uses of `Res::Local`s.
-use crate::hir::def::Res;
-use crate::hir::intravisit::{self, NestedVisitorMap, Visitor};
-use crate::hir::{self, HirId};
+use crate::hir::map::Map;
use crate::ty::query::Providers;
use crate::ty::TyCtxt;
use rustc_data_structures::fx::{FxHashSet, FxIndexMap};
-use syntax_pos::Span;
+use rustc_hir as hir;
+use rustc_hir::def::Res;
+use rustc_hir::intravisit::{self, NestedVisitorMap, Visitor};
+use rustc_hir::{self, HirId};
+use rustc_span::Span;
pub fn provide(providers: &mut Providers<'_>) {
providers.upvars = |tcx, def_id| {
}
impl Visitor<'tcx> for LocalCollector {
- fn nested_visit_map<'this>(&'this mut self) -> NestedVisitorMap<'this, 'tcx> {
+ type Map = Map<'tcx>;
+
+ fn nested_visit_map<'this>(&'this mut self) -> NestedVisitorMap<'this, Self::Map> {
NestedVisitorMap::None
}
}
impl Visitor<'tcx> for CaptureCollector<'a, 'tcx> {
- fn nested_visit_map<'this>(&'this mut self) -> NestedVisitorMap<'this, 'tcx> {
+ type Map = Map<'tcx>;
+
+ fn nested_visit_map<'this>(&'this mut self) -> NestedVisitorMap<'this, Self::Map> {
NestedVisitorMap::None
}