remove _by_hir_id if there is no NodeId counterpart
This commit is contained in:
parent
61964d9732
commit
d996c4d5a3
@ -358,7 +358,7 @@ fn call<'b, I: Iterator<Item=&'b hir::Expr>>(&mut self,
|
||||
args: I) -> CFGIndex {
|
||||
let func_or_rcvr_exit = self.expr(func_or_rcvr, pred);
|
||||
let ret = self.straightline(call_expr, func_or_rcvr_exit, args);
|
||||
let m = self.tcx.hir().get_module_parent_by_hir_id(call_expr.hir_id);
|
||||
let m = self.tcx.hir().get_module_parent(call_expr.hir_id);
|
||||
if self.tcx.is_ty_uninhabited_from(m, self.tables.expr_ty(call_expr)) {
|
||||
self.add_unreachable_node()
|
||||
} else {
|
||||
|
@ -171,7 +171,7 @@ pub trait Visitor<'v> : Sized {
|
||||
/// but cannot supply a `Map`; see `nested_visit_map` for advice.
|
||||
#[allow(unused_variables)]
|
||||
fn visit_nested_item(&mut self, id: ItemId) {
|
||||
let opt_item = self.nested_visit_map().inter().map(|map| map.expect_item_by_hir_id(id.id));
|
||||
let opt_item = self.nested_visit_map().inter().map(|map| map.expect_item(id.id));
|
||||
if let Some(item) = opt_item {
|
||||
self.visit_item(item);
|
||||
}
|
||||
|
@ -435,7 +435,7 @@ pub fn body_owner_def_id(&self, id: BodyId) -> DefId {
|
||||
|
||||
/// Given a `HirId`, returns the `BodyId` associated with it,
|
||||
/// if the node is a body owner, otherwise returns `None`.
|
||||
pub fn maybe_body_owned_by_by_hir_id(&self, hir_id: HirId) -> Option<BodyId> {
|
||||
pub fn maybe_body_owned_by(&self, hir_id: HirId) -> Option<BodyId> {
|
||||
if let Some(entry) = self.find_entry(hir_id) {
|
||||
if self.dep_graph.is_fully_enabled() {
|
||||
let hir_id_owner = hir_id.owner;
|
||||
@ -451,13 +451,13 @@ pub fn maybe_body_owned_by_by_hir_id(&self, hir_id: HirId) -> Option<BodyId> {
|
||||
|
||||
/// Given a body owner's id, returns the `BodyId` associated with it.
|
||||
pub fn body_owned_by(&self, id: HirId) -> BodyId {
|
||||
self.maybe_body_owned_by_by_hir_id(id).unwrap_or_else(|| {
|
||||
span_bug!(self.span_by_hir_id(id), "body_owned_by: {} has no associated body",
|
||||
self.maybe_body_owned_by(id).unwrap_or_else(|| {
|
||||
span_bug!(self.span(id), "body_owned_by: {} has no associated body",
|
||||
self.hir_to_string(id));
|
||||
})
|
||||
}
|
||||
|
||||
pub fn body_owner_kind_by_hir_id(&self, id: HirId) -> BodyOwnerKind {
|
||||
pub fn body_owner_kind(&self, id: HirId) -> BodyOwnerKind {
|
||||
match self.get_by_hir_id(id) {
|
||||
Node::Item(&Item { node: ItemKind::Const(..), .. }) |
|
||||
Node::TraitItem(&TraitItem { node: TraitItemKind::Const(..), .. }) |
|
||||
@ -548,7 +548,7 @@ pub fn visit_item_likes_in_module<V>(&self, module: DefId, visitor: &mut V)
|
||||
let module = &self.forest.krate.modules[&node_id];
|
||||
|
||||
for id in &module.items {
|
||||
visitor.visit_item(self.expect_item_by_hir_id(*id));
|
||||
visitor.visit_item(self.expect_item(*id));
|
||||
}
|
||||
|
||||
for id in &module.trait_items {
|
||||
@ -784,7 +784,7 @@ pub fn get_parent_item(&self, hir_id: HirId) -> HirId {
|
||||
|
||||
/// Returns the `DefId` of `id`'s nearest module parent, or `id` itself if no
|
||||
/// module parent is in this map.
|
||||
pub fn get_module_parent_by_hir_id(&self, id: HirId) -> DefId {
|
||||
pub fn get_module_parent(&self, id: HirId) -> DefId {
|
||||
self.local_def_id_from_hir_id(self.get_module_parent_node(id))
|
||||
}
|
||||
|
||||
@ -860,11 +860,11 @@ pub fn get_defining_scope(&self, id: HirId) -> Option<HirId> {
|
||||
Some(scope)
|
||||
}
|
||||
|
||||
pub fn get_parent_did_by_hir_id(&self, id: HirId) -> DefId {
|
||||
pub fn get_parent_did(&self, id: HirId) -> DefId {
|
||||
self.local_def_id_from_hir_id(self.get_parent_item(id))
|
||||
}
|
||||
|
||||
pub fn get_foreign_abi_by_hir_id(&self, hir_id: HirId) -> Abi {
|
||||
pub fn get_foreign_abi(&self, hir_id: HirId) -> Abi {
|
||||
let parent = self.get_parent_item(hir_id);
|
||||
if let Some(entry) = self.find_entry(parent) {
|
||||
if let Entry {
|
||||
@ -877,7 +877,7 @@ pub fn get_foreign_abi_by_hir_id(&self, hir_id: HirId) -> Abi {
|
||||
bug!("expected foreign mod or inlined parent, found {}", self.hir_to_string(parent))
|
||||
}
|
||||
|
||||
pub fn expect_item_by_hir_id(&self, id: HirId) -> &'hir Item {
|
||||
pub fn expect_item(&self, id: HirId) -> &'hir Item {
|
||||
match self.find_by_hir_id(id) { // read recorded by `find`
|
||||
Some(Node::Item(item)) => item,
|
||||
_ => bug!("expected item, found {}", self.hir_to_string(id))
|
||||
@ -965,7 +965,7 @@ pub fn name_by_hir_id(&self, id: HirId) -> Name {
|
||||
|
||||
/// Given a node ID, gets a list of attributes associated with the AST
|
||||
/// corresponding to the node-ID.
|
||||
pub fn attrs_by_hir_id(&self, id: HirId) -> &'hir [ast::Attribute] {
|
||||
pub fn attrs(&self, id: HirId) -> &'hir [ast::Attribute] {
|
||||
self.read(id); // reveals attributes on the node
|
||||
let attrs = match self.find_entry(id).map(|entry| entry.node) {
|
||||
Some(Node::Local(l)) => Some(&l.attrs[..]),
|
||||
@ -981,7 +981,7 @@ pub fn attrs_by_hir_id(&self, id: HirId) -> &'hir [ast::Attribute] {
|
||||
Some(Node::GenericParam(param)) => Some(¶m.attrs[..]),
|
||||
// Unit/tuple structs/variants take the attributes straight from
|
||||
// the struct/variant definition.
|
||||
Some(Node::Ctor(..)) => return self.attrs_by_hir_id(self.get_parent_item(id)),
|
||||
Some(Node::Ctor(..)) => return self.attrs(self.get_parent_item(id)),
|
||||
Some(Node::Crate) => Some(&self.forest.krate.attrs[..]),
|
||||
_ => None
|
||||
};
|
||||
@ -1028,7 +1028,7 @@ pub fn nodes_matching_suffix<'a>(&'a self, parts: &'a [String])
|
||||
})
|
||||
}
|
||||
|
||||
pub fn span_by_hir_id(&self, hir_id: HirId) -> Span {
|
||||
pub fn span(&self, hir_id: HirId) -> Span {
|
||||
self.read(hir_id); // reveals span from node
|
||||
match self.find_entry(hir_id).map(|entry| entry.node) {
|
||||
Some(Node::Item(item)) => item.span,
|
||||
@ -1068,7 +1068,7 @@ pub fn span_by_hir_id(&self, hir_id: HirId) -> Span {
|
||||
}
|
||||
|
||||
pub fn span_if_local(&self, id: DefId) -> Option<Span> {
|
||||
self.as_local_hir_id(id).map(|id| self.span_by_hir_id(id))
|
||||
self.as_local_hir_id(id).map(|id| self.span(id))
|
||||
}
|
||||
|
||||
pub fn hir_to_string(&self, id: HirId) -> String {
|
||||
@ -1221,7 +1221,7 @@ pub fn map_crate<'hir>(sess: &crate::session::Session,
|
||||
impl<'hir> print::PpAnn for Map<'hir> {
|
||||
fn nested(&self, state: &mut print::State<'_>, nested: print::Nested) -> io::Result<()> {
|
||||
match nested {
|
||||
Nested::Item(id) => state.print_item(self.expect_item_by_hir_id(id.id)),
|
||||
Nested::Item(id) => state.print_item(self.expect_item(id.id)),
|
||||
Nested::TraitItem(id) => state.print_trait_item(self.trait_item(id)),
|
||||
Nested::ImplItem(id) => state.print_impl_item(self.impl_item(id)),
|
||||
Nested::Body(id) => state.print_expr(&self.body(id).value),
|
||||
|
@ -15,7 +15,7 @@ pub fn provide(providers: &mut Providers<'_>) {
|
||||
}
|
||||
|
||||
let hir_id = tcx.hir().as_local_hir_id(def_id).unwrap();
|
||||
let body = tcx.hir().body(tcx.hir().maybe_body_owned_by_by_hir_id(hir_id)?);
|
||||
let body = tcx.hir().body(tcx.hir().maybe_body_owned_by(hir_id)?);
|
||||
|
||||
let mut local_collector = LocalCollector::default();
|
||||
local_collector.visit_body(body);
|
||||
|
@ -191,7 +191,7 @@ fn msg_span_from_early_bound_and_free_regions(
|
||||
};
|
||||
let (prefix, span) = match *region {
|
||||
ty::ReEarlyBound(ref br) => {
|
||||
let mut sp = cm.def_span(self.hir().span_by_hir_id(node));
|
||||
let mut sp = cm.def_span(self.hir().span(node));
|
||||
if let Some(param) = self.hir()
|
||||
.get_generics(scope)
|
||||
.and_then(|generics| generics.get_named(br.name))
|
||||
@ -204,7 +204,7 @@ fn msg_span_from_early_bound_and_free_regions(
|
||||
bound_region: ty::BoundRegion::BrNamed(_, name),
|
||||
..
|
||||
}) => {
|
||||
let mut sp = cm.def_span(self.hir().span_by_hir_id(node));
|
||||
let mut sp = cm.def_span(self.hir().span(node));
|
||||
if let Some(param) = self.hir()
|
||||
.get_generics(scope)
|
||||
.and_then(|generics| generics.get_named(name))
|
||||
@ -216,11 +216,11 @@ fn msg_span_from_early_bound_and_free_regions(
|
||||
ty::ReFree(ref fr) => match fr.bound_region {
|
||||
ty::BrAnon(idx) => (
|
||||
format!("the anonymous lifetime #{} defined on", idx + 1),
|
||||
self.hir().span_by_hir_id(node),
|
||||
self.hir().span(node),
|
||||
),
|
||||
_ => (
|
||||
format!("the lifetime {} as defined on", region),
|
||||
cm.def_span(self.hir().span_by_hir_id(node)),
|
||||
cm.def_span(self.hir().span(node)),
|
||||
),
|
||||
},
|
||||
_ => bug!(),
|
||||
@ -1338,7 +1338,7 @@ pub fn construct_generic_bound_failure(
|
||||
if let Node::GenericParam(ref param) = hir.get_by_hir_id(id) {
|
||||
has_bounds = !param.bounds.is_empty();
|
||||
}
|
||||
let sp = hir.span_by_hir_id(id);
|
||||
let sp = hir.span(id);
|
||||
// `sp` only covers `T`, change it so that it covers
|
||||
// `T:` when appropriate
|
||||
let is_impl_trait = bound_kind.to_string().starts_with("impl ");
|
||||
|
@ -52,7 +52,7 @@ pub(super) fn find_arg_with_region(
|
||||
|
||||
let hir = &self.tcx().hir();
|
||||
if let Some(hir_id) = hir.as_local_hir_id(id) {
|
||||
if let Some(body_id) = hir.maybe_body_owned_by_by_hir_id(hir_id) {
|
||||
if let Some(body_id) = hir.maybe_body_owned_by(hir_id) {
|
||||
let body = hir.body(body_id);
|
||||
let owner_id = hir.body_owner(body_id);
|
||||
let fn_decl = hir.fn_decl_by_hir_id(owner_id).unwrap();
|
||||
@ -63,7 +63,7 @@ pub(super) fn find_arg_with_region(
|
||||
.filter_map(|(index, arg)| {
|
||||
// May return None; sometimes the tables are not yet populated.
|
||||
let ty_hir_id = fn_decl.inputs[index].hir_id;
|
||||
let arg_ty_span = hir.span_by_hir_id(ty_hir_id);
|
||||
let arg_ty_span = hir.span(ty_hir_id);
|
||||
let ty = tables.node_type_opt(arg.hir_id)?;
|
||||
let mut found_anon_region = false;
|
||||
let new_arg_ty = self.tcx().fold_regions(&ty, &mut false, |r, _| {
|
||||
|
@ -1399,7 +1399,7 @@ fn late_lint_mod_pass<'tcx, T: for<'a> LateLintPass<'a, 'tcx>>(
|
||||
|
||||
// Visit the crate attributes
|
||||
if hir_id == hir::CRATE_HIR_ID {
|
||||
walk_list!(cx, visit_attribute, tcx.hir().attrs_by_hir_id(hir::CRATE_HIR_ID));
|
||||
walk_list!(cx, visit_attribute, tcx.hir().attrs(hir::CRATE_HIR_ID));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -762,7 +762,7 @@ pub fn struct_lint_level<'a>(sess: &'a Session,
|
||||
}
|
||||
|
||||
pub fn maybe_lint_level_root(tcx: TyCtxt<'_>, id: hir::HirId) -> bool {
|
||||
let attrs = tcx.hir().attrs_by_hir_id(id);
|
||||
let attrs = tcx.hir().attrs(id);
|
||||
attrs.iter().any(|attr| Level::from_symbol(attr.name_or_empty()).is_some())
|
||||
}
|
||||
|
||||
|
@ -292,7 +292,7 @@ fn visit_path(&mut self, path: &'tcx hir::Path, _: hir::HirId) {
|
||||
fn visit_ty(&mut self, ty: &'tcx hir::Ty) {
|
||||
match ty.node {
|
||||
TyKind::Def(item_id, _) => {
|
||||
let item = self.tcx.hir().expect_item_by_hir_id(item_id.id);
|
||||
let item = self.tcx.hir().expect_item(item_id.id);
|
||||
intravisit::walk_item(self, item);
|
||||
}
|
||||
_ => ()
|
||||
|
@ -1171,7 +1171,7 @@ fn propagate_through_expr(&mut self, expr: &Expr, succ: LiveNode)
|
||||
}
|
||||
|
||||
hir::ExprKind::Call(ref f, ref args) => {
|
||||
let m = self.ir.tcx.hir().get_module_parent_by_hir_id(expr.hir_id);
|
||||
let m = self.ir.tcx.hir().get_module_parent(expr.hir_id);
|
||||
let succ = if self.ir.tcx.is_ty_uninhabited_from(m, self.tables.expr_ty(expr)) {
|
||||
self.s.exit_ln
|
||||
} else {
|
||||
@ -1182,7 +1182,7 @@ fn propagate_through_expr(&mut self, expr: &Expr, succ: LiveNode)
|
||||
}
|
||||
|
||||
hir::ExprKind::MethodCall(.., ref args) => {
|
||||
let m = self.ir.tcx.hir().get_module_parent_by_hir_id(expr.hir_id);
|
||||
let m = self.ir.tcx.hir().get_module_parent(expr.hir_id);
|
||||
let succ = if self.ir.tcx.is_ty_uninhabited_from(m, self.tables.expr_ty(expr)) {
|
||||
self.s.exit_ln
|
||||
} else {
|
||||
|
@ -358,7 +358,7 @@ fn from_local(
|
||||
}
|
||||
_ => span_bug!(p.span, "expected identifier pattern")
|
||||
},
|
||||
_ => span_bug!(tcx.hir().span_by_hir_id(id), "expected identifier pattern")
|
||||
_ => span_bug!(tcx.hir().span(id), "expected identifier pattern")
|
||||
};
|
||||
debug!("MutabilityCategory::{}(tcx, id={:?}) => {:?}",
|
||||
"from_local", id, ret);
|
||||
|
@ -174,12 +174,12 @@ fn def_id_represents_local_inlined_item(&self, def_id: DefId) -> bool {
|
||||
} else {
|
||||
let impl_did = self.tcx
|
||||
.hir()
|
||||
.get_parent_did_by_hir_id(hir_id);
|
||||
.get_parent_did(hir_id);
|
||||
// Check the impl. If the generics on the self
|
||||
// type of the impl require inlining, this method
|
||||
// does too.
|
||||
let impl_hir_id = self.tcx.hir().as_local_hir_id(impl_did).unwrap();
|
||||
match self.tcx.hir().expect_item_by_hir_id(impl_hir_id).node {
|
||||
match self.tcx.hir().expect_item(impl_hir_id).node {
|
||||
hir::ItemKind::Impl(..) => {
|
||||
let generics = self.tcx.generics_of(impl_did);
|
||||
generics.requires_monomorphization(self.tcx)
|
||||
@ -296,7 +296,7 @@ fn propagate_node(&mut self, node: &Node<'tcx>,
|
||||
self.visit_nested_body(body);
|
||||
}
|
||||
hir::ImplItemKind::Method(_, body) => {
|
||||
let did = self.tcx.hir().get_parent_did_by_hir_id(search_item);
|
||||
let did = self.tcx.hir().get_parent_did(search_item);
|
||||
if method_might_be_inlined(self.tcx, impl_item, did) {
|
||||
self.visit_nested_body(body)
|
||||
}
|
||||
|
@ -188,7 +188,7 @@ pub fn span(&self, tcx: TyCtxt<'_>, scope_tree: &ScopeTree) -> Span {
|
||||
if hir_id == hir::DUMMY_HIR_ID {
|
||||
return DUMMY_SP;
|
||||
}
|
||||
let span = tcx.hir().span_by_hir_id(hir_id);
|
||||
let span = tcx.hir().span(hir_id);
|
||||
if let ScopeData::Remainder(first_statement_index) = self.data {
|
||||
if let Node::Block(ref blk) = tcx.hir().get_by_hir_id(hir_id) {
|
||||
// Want span for scope starting after the
|
||||
@ -649,7 +649,7 @@ pub fn early_free_scope(&self, tcx: TyCtxt<'tcx>, br: &ty::EarlyBoundRegion) ->
|
||||
let param_owner = tcx.parent(br.def_id).unwrap();
|
||||
|
||||
let param_owner_id = tcx.hir().as_local_hir_id(param_owner).unwrap();
|
||||
let scope = tcx.hir().maybe_body_owned_by_by_hir_id(param_owner_id).map(|body_id| {
|
||||
let scope = tcx.hir().maybe_body_owned_by(param_owner_id).map(|body_id| {
|
||||
tcx.hir().body(body_id).value.hir_id.local_id
|
||||
}).unwrap_or_else(|| {
|
||||
// The lifetime was defined on node that doesn't own a body,
|
||||
@ -1277,7 +1277,7 @@ fn visit_body(&mut self, body: &'tcx hir::Body) {
|
||||
|
||||
// The body of the every fn is a root scope.
|
||||
self.cx.parent = self.cx.var_parent;
|
||||
if self.tcx.hir().body_owner_kind_by_hir_id(owner_id).is_fn_or_closure() {
|
||||
if self.tcx.hir().body_owner_kind(owner_id).is_fn_or_closure() {
|
||||
self.visit_expr(&body.value)
|
||||
} else {
|
||||
// Only functions have an outer terminating (drop) scope, while
|
||||
@ -1336,7 +1336,7 @@ fn region_scope_tree<'tcx>(tcx: TyCtxt<'tcx>, def_id: DefId) -> &'tcx ScopeTree
|
||||
}
|
||||
|
||||
let id = tcx.hir().as_local_hir_id(def_id).unwrap();
|
||||
let scope_tree = if let Some(body_id) = tcx.hir().maybe_body_owned_by_by_hir_id(id) {
|
||||
let scope_tree = if let Some(body_id) = tcx.hir().maybe_body_owned_by(id) {
|
||||
let mut visitor = RegionResolutionVisitor {
|
||||
tcx,
|
||||
scope_tree: ScopeTree::default(),
|
||||
|
@ -625,7 +625,7 @@ fn visit_ty(&mut self, ty: &'tcx hir::Ty) {
|
||||
// `abstract type MyAnonTy<'b>: MyTrait<'b>;`
|
||||
// ^ ^ this gets resolved in the scope of
|
||||
// the exist_ty generics
|
||||
let (generics, bounds) = match self.tcx.hir().expect_item_by_hir_id(item_id.id).node
|
||||
let (generics, bounds) = match self.tcx.hir().expect_item(item_id.id).node
|
||||
{
|
||||
// named existential types are reached via TyKind::Path
|
||||
// this arm is for `impl Trait` in the types of statics, constants and locals
|
||||
@ -1236,7 +1236,7 @@ fn check_if_label_shadows_lifetime(
|
||||
signal_shadowing_problem(
|
||||
tcx,
|
||||
label.name,
|
||||
original_lifetime(tcx.hir().span_by_hir_id(hir_id)),
|
||||
original_lifetime(tcx.hir().span(hir_id)),
|
||||
shadower_label(label.span),
|
||||
);
|
||||
return;
|
||||
@ -1590,7 +1590,7 @@ fn check_uses_for_lifetimes_defined_by_scope(&mut self) {
|
||||
if let Some(parent_hir_id) = self.tcx.hir()
|
||||
.as_local_hir_id(parent_def_id) {
|
||||
// lifetimes in `derive` expansions don't count (Issue #53738)
|
||||
if self.tcx.hir().attrs_by_hir_id(parent_hir_id).iter()
|
||||
if self.tcx.hir().attrs(parent_hir_id).iter()
|
||||
.any(|attr| attr.check_name(sym::automatically_derived)) {
|
||||
continue;
|
||||
}
|
||||
@ -1690,7 +1690,7 @@ fn visit_early_late<F>(
|
||||
// Find the start of nested early scopes, e.g., in methods.
|
||||
let mut index = 0;
|
||||
if let Some(parent_id) = parent_id {
|
||||
let parent = self.tcx.hir().expect_item_by_hir_id(parent_id);
|
||||
let parent = self.tcx.hir().expect_item(parent_id);
|
||||
if sub_items_have_self_param(&parent.node) {
|
||||
index += 1; // Self comes before lifetimes
|
||||
}
|
||||
@ -2065,7 +2065,7 @@ fn visit_fn_like_elision(&mut self, inputs: &'tcx [hir::Ty], output: Option<&'tc
|
||||
}) => {
|
||||
if let hir::ItemKind::Trait(.., ref trait_items) = self.tcx
|
||||
.hir()
|
||||
.expect_item_by_hir_id(self.tcx.hir().get_parent_item(parent))
|
||||
.expect_item(self.tcx.hir().get_parent_item(parent))
|
||||
.node
|
||||
{
|
||||
assoc_item_kind = trait_items
|
||||
@ -2085,7 +2085,7 @@ fn visit_fn_like_elision(&mut self, inputs: &'tcx [hir::Ty], output: Option<&'tc
|
||||
}) => {
|
||||
if let hir::ItemKind::Impl(.., ref self_ty, ref impl_items) = self.tcx
|
||||
.hir()
|
||||
.expect_item_by_hir_id(self.tcx.hir().get_parent_item(parent))
|
||||
.expect_item(self.tcx.hir().get_parent_item(parent))
|
||||
.node
|
||||
{
|
||||
impl_self = Some(self_ty);
|
||||
@ -2629,7 +2629,7 @@ fn check_lifetime_param_for_shadowing(
|
||||
signal_shadowing_problem(
|
||||
self.tcx,
|
||||
param.name.ident().name,
|
||||
original_lifetime(self.tcx.hir().span_by_hir_id(hir_id)),
|
||||
original_lifetime(self.tcx.hir().span(hir_id)),
|
||||
shadower_lifetime(¶m),
|
||||
);
|
||||
return;
|
||||
|
@ -2565,7 +2565,7 @@ fn fmt_tuple(fmt: &mut Formatter<'_>, places: &[Operand<'_>]) -> fmt::Result {
|
||||
let name = if tcx.sess.opts.debugging_opts.span_free_formats {
|
||||
format!("[closure@{:?}]", hir_id)
|
||||
} else {
|
||||
format!("[closure@{:?}]", tcx.hir().span_by_hir_id(hir_id))
|
||||
format!("[closure@{:?}]", tcx.hir().span(hir_id))
|
||||
};
|
||||
let mut struct_fmt = fmt.debug_struct(&name);
|
||||
|
||||
@ -2585,7 +2585,7 @@ fn fmt_tuple(fmt: &mut Formatter<'_>, places: &[Operand<'_>]) -> fmt::Result {
|
||||
AggregateKind::Generator(def_id, _, _) => ty::tls::with(|tcx| {
|
||||
if let Some(hir_id) = tcx.hir().as_local_hir_id(def_id) {
|
||||
let name = format!("[generator@{:?}]",
|
||||
tcx.hir().span_by_hir_id(hir_id));
|
||||
tcx.hir().span(hir_id));
|
||||
let mut struct_fmt = fmt.debug_struct(&name);
|
||||
|
||||
if let Some(upvars) = tcx.upvars(def_id) {
|
||||
|
@ -218,7 +218,7 @@ pub fn local_span(&self, tcx: TyCtxt<'tcx>) -> Option<Span> {
|
||||
MonoItem::GlobalAsm(hir_id) => {
|
||||
Some(hir_id)
|
||||
}
|
||||
}.map(|hir_id| tcx.hir().span_by_hir_id(hir_id))
|
||||
}.map(|hir_id| tcx.hir().span(hir_id))
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1096,7 +1096,7 @@ pub fn get_fn_like_arguments(&self, node: Node<'_>) -> (Span, Vec<ArgKind>) {
|
||||
}
|
||||
Node::Ctor(ref variant_data) => {
|
||||
let span = variant_data.ctor_hir_id()
|
||||
.map(|hir_id| self.tcx.hir().span_by_hir_id(hir_id))
|
||||
.map(|hir_id| self.tcx.hir().span(hir_id))
|
||||
.unwrap_or(DUMMY_SP);
|
||||
let span = self.tcx.sess.source_map().def_span(span);
|
||||
|
||||
|
@ -654,7 +654,7 @@ pub fn generator_trait_ref_and_outputs(self,
|
||||
pub fn impl_is_default(self, node_item_def_id: DefId) -> bool {
|
||||
match self.hir().as_local_hir_id(node_item_def_id) {
|
||||
Some(hir_id) => {
|
||||
let item = self.hir().expect_item_by_hir_id(hir_id);
|
||||
let item = self.hir().expect_item(hir_id);
|
||||
if let hir::ItemKind::Impl(_, _, defaultness, ..) = item.node {
|
||||
defaultness.is_default()
|
||||
} else {
|
||||
|
@ -277,7 +277,7 @@ pub fn from_hir(visibility: &hir::Visibility, id: hir::HirId, tcx: TyCtxt<'_>) -
|
||||
def => Visibility::Restricted(def.def_id()),
|
||||
},
|
||||
hir::VisibilityKind::Inherited => {
|
||||
Visibility::Restricted(tcx.hir().get_module_parent_by_hir_id(id))
|
||||
Visibility::Restricted(tcx.hir().get_module_parent(id))
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -3016,7 +3016,7 @@ pub fn instance_mir(self, instance: ty::InstanceDef<'tcx>) -> &'tcx Body<'tcx> {
|
||||
/// Gets the attributes of a definition.
|
||||
pub fn get_attrs(self, did: DefId) -> Attributes<'tcx> {
|
||||
if let Some(id) = self.hir().as_local_hir_id(did) {
|
||||
Attributes::Borrowed(self.hir().attrs_by_hir_id(id))
|
||||
Attributes::Borrowed(self.hir().attrs(id))
|
||||
} else {
|
||||
Attributes::Owned(self.item_attrs(did))
|
||||
}
|
||||
@ -3068,7 +3068,7 @@ pub fn impl_of_method(self, def_id: DefId) -> Option<DefId> {
|
||||
pub fn span_of_impl(self, impl_did: DefId) -> Result<Span, Symbol> {
|
||||
if impl_did.is_local() {
|
||||
let hir_id = self.hir().as_local_hir_id(impl_did).unwrap();
|
||||
Ok(self.hir().span_by_hir_id(hir_id))
|
||||
Ok(self.hir().span(hir_id))
|
||||
} else {
|
||||
Err(self.crate_name(impl_did.krate))
|
||||
}
|
||||
@ -3103,7 +3103,7 @@ pub fn adjust_ident_and_get_scope(self, mut ident: Ident, scope: DefId, block: h
|
||||
let scope = match ident.span.modernize_and_adjust(self.expansion_that_defined(scope)) {
|
||||
Some(actual_expansion) =>
|
||||
self.hir().definitions().parent_module_of_macro_def(actual_expansion),
|
||||
None => self.hir().get_module_parent_by_hir_id(block),
|
||||
None => self.hir().get_module_parent(block),
|
||||
};
|
||||
(ident, scope)
|
||||
}
|
||||
@ -3129,7 +3129,7 @@ fn associated_item<'tcx>(tcx: TyCtxt<'tcx>, def_id: DefId) -> AssocItem {
|
||||
let id = tcx.hir().as_local_hir_id(def_id).unwrap();
|
||||
let parent_id = tcx.hir().get_parent_item(id);
|
||||
let parent_def_id = tcx.hir().local_def_id_from_hir_id(parent_id);
|
||||
let parent_item = tcx.hir().expect_item_by_hir_id(parent_id);
|
||||
let parent_item = tcx.hir().expect_item(parent_id);
|
||||
match parent_item.node {
|
||||
hir::ItemKind::Impl(.., ref impl_item_refs) => {
|
||||
if let Some(impl_item_ref) = impl_item_refs.iter().find(|i| i.id.hir_id == id) {
|
||||
@ -3186,7 +3186,7 @@ fn adt_sized_constraint<'tcx>(tcx: TyCtxt<'tcx>, def_id: DefId) -> AdtSizedConst
|
||||
|
||||
fn associated_item_def_ids<'tcx>(tcx: TyCtxt<'tcx>, def_id: DefId) -> &'tcx [DefId] {
|
||||
let id = tcx.hir().as_local_hir_id(def_id).unwrap();
|
||||
let item = tcx.hir().expect_item_by_hir_id(id);
|
||||
let item = tcx.hir().expect_item(id);
|
||||
match item.node {
|
||||
hir::ItemKind::Trait(.., ref trait_item_refs) => {
|
||||
tcx.arena.alloc_from_iter(
|
||||
@ -3266,7 +3266,7 @@ fn param_env<'tcx>(tcx: TyCtxt<'tcx>, def_id: DefId) -> ParamEnv<'tcx> {
|
||||
);
|
||||
|
||||
let body_id = tcx.hir().as_local_hir_id(def_id).map_or(hir::DUMMY_HIR_ID, |id| {
|
||||
tcx.hir().maybe_body_owned_by_by_hir_id(id).map_or(id, |body| body.hir_id)
|
||||
tcx.hir().maybe_body_owned_by(id).map_or(id, |body| body.hir_id)
|
||||
});
|
||||
let cause = traits::ObligationCause::misc(tcx.def_span(def_id), body_id);
|
||||
traits::normalize_param_env_or_error(tcx, def_id, unnormalized_env, cause)
|
||||
|
@ -589,7 +589,7 @@ fn pretty_print_type(
|
||||
|
||||
// FIXME(eddyb) should use `def_span`.
|
||||
if let Some(hir_id) = self.tcx().hir().as_local_hir_id(did) {
|
||||
p!(write("@{:?}", self.tcx().hir().span_by_hir_id(hir_id)));
|
||||
p!(write("@{:?}", self.tcx().hir().span(hir_id)));
|
||||
let mut sep = " ";
|
||||
for (&var_id, upvar_ty) in self.tcx().upvars(did)
|
||||
.as_ref()
|
||||
@ -631,7 +631,7 @@ fn pretty_print_type(
|
||||
if self.tcx().sess.opts.debugging_opts.span_free_formats {
|
||||
p!(write("@{:?}", hir_id));
|
||||
} else {
|
||||
p!(write("@{:?}", self.tcx().hir().span_by_hir_id(hir_id)));
|
||||
p!(write("@{:?}", self.tcx().hir().span(hir_id)));
|
||||
}
|
||||
let mut sep = " ";
|
||||
for (&var_id, upvar_ty) in self.tcx().upvars(did)
|
||||
|
@ -88,7 +88,7 @@ fn report_move_errors<'a, 'tcx>(bccx: &BorrowckCtxt<'a, 'tcx>, errors: &[MoveErr
|
||||
}
|
||||
}
|
||||
if let NoteClosureEnv(upvar_id) = error.move_from.note {
|
||||
err.span_label(bccx.tcx.hir().span_by_hir_id(upvar_id.var_path.hir_id),
|
||||
err.span_label(bccx.tcx.hir().span(upvar_id.var_path.hir_id),
|
||||
"captured outer variable");
|
||||
}
|
||||
err.emit();
|
||||
|
@ -699,7 +699,7 @@ pub fn report_use_of_moved_value(&self,
|
||||
}
|
||||
|
||||
move_data::MoveExpr |
|
||||
move_data::MovePat => (self.tcx.hir().span_by_hir_id(hir_id), ""),
|
||||
move_data::MovePat => (self.tcx.hir().span(hir_id), ""),
|
||||
|
||||
move_data::Captured =>
|
||||
(match self.tcx.hir().expect_expr_by_hir_id(hir_id).node {
|
||||
@ -828,7 +828,7 @@ fn report_bckerr(&self, err: &BckError<'a, 'tcx>) {
|
||||
let mut db = self.cannot_assign(error_span, &descr, Origin::Ast);
|
||||
if let mc::NoteClosureEnv(upvar_id) = err.cmt.note {
|
||||
let hir_id = upvar_id.var_path.hir_id;
|
||||
let sp = self.tcx.hir().span_by_hir_id(hir_id);
|
||||
let sp = self.tcx.hir().span(hir_id);
|
||||
let fn_closure_msg = "`Fn` closures cannot capture their enclosing \
|
||||
environment for modifications";
|
||||
match (self.tcx.sess.source_map().span_to_snippet(sp), &err.cmt.cat) {
|
||||
@ -1117,7 +1117,7 @@ pub fn report_aliasability_violation(&self,
|
||||
"consider changing this closure to take self by mutable reference"
|
||||
};
|
||||
let hir_id = self.tcx.hir().local_def_id_to_hir_id(id);
|
||||
let help_span = self.tcx.hir().span_by_hir_id(hir_id);
|
||||
let help_span = self.tcx.hir().span(hir_id);
|
||||
self.cannot_act_on_capture_in_sharable_fn(span,
|
||||
prefix,
|
||||
(help_span, help_msg),
|
||||
@ -1223,7 +1223,7 @@ fn note_immutability_blame(&self,
|
||||
Some(ImmutabilityBlame::LocalDeref(hir_id)) => {
|
||||
match self.local_binding_mode(hir_id) {
|
||||
ty::BindByReference(..) => {
|
||||
let let_span = self.tcx.hir().span_by_hir_id(hir_id);
|
||||
let let_span = self.tcx.hir().span(hir_id);
|
||||
let suggestion = suggest_ref_mut(self.tcx, let_span);
|
||||
if let Some(replace_str) = suggestion {
|
||||
db.span_suggestion(
|
||||
@ -1271,7 +1271,7 @@ fn note_immutable_local(&self,
|
||||
db: &mut DiagnosticBuilder<'_>,
|
||||
borrowed_hir_id: hir::HirId,
|
||||
binding_hir_id: hir::HirId) {
|
||||
let let_span = self.tcx.hir().span_by_hir_id(binding_hir_id);
|
||||
let let_span = self.tcx.hir().span(binding_hir_id);
|
||||
if let ty::BindByValue(..) = self.local_binding_mode(binding_hir_id) {
|
||||
if let Ok(snippet) = self.tcx.sess.source_map().span_to_snippet(let_span) {
|
||||
let (ty, is_implicit_self) = self.local_ty(binding_hir_id);
|
||||
@ -1289,7 +1289,7 @@ fn note_immutable_local(&self,
|
||||
{
|
||||
let borrow_expr_id = self.tcx.hir().get_parent_node_by_hir_id(borrowed_hir_id);
|
||||
db.span_suggestion(
|
||||
self.tcx.hir().span_by_hir_id(borrow_expr_id),
|
||||
self.tcx.hir().span(borrow_expr_id),
|
||||
"consider removing the `&mut`, as it is an \
|
||||
immutable binding to a mutable reference",
|
||||
snippet,
|
||||
@ -1360,7 +1360,7 @@ fn note_and_explain_mutbl_error(&self, db: &mut DiagnosticBuilder<'_>, err: &Bck
|
||||
if *kind == ty::ClosureKind::Fn {
|
||||
let closure_hir_id =
|
||||
self.tcx.hir().local_def_id_to_hir_id(upvar_id.closure_expr_id);
|
||||
db.span_help(self.tcx.hir().span_by_hir_id(closure_hir_id),
|
||||
db.span_help(self.tcx.hir().span(closure_hir_id),
|
||||
"consider changing this closure to take \
|
||||
self by mutable reference");
|
||||
}
|
||||
@ -1369,7 +1369,7 @@ fn note_and_explain_mutbl_error(&self, db: &mut DiagnosticBuilder<'_>, err: &Bck
|
||||
if let Categorization::Deref(..) = err.cmt.cat {
|
||||
db.span_label(*error_span, "cannot borrow as mutable");
|
||||
} else if let Categorization::Local(local_id) = err.cmt.cat {
|
||||
let span = self.tcx.hir().span_by_hir_id(local_id);
|
||||
let span = self.tcx.hir().span(local_id);
|
||||
if let Ok(snippet) = self.tcx.sess.source_map().span_to_snippet(span) {
|
||||
if snippet.starts_with("ref mut ") || snippet.starts_with("&mut ") {
|
||||
db.span_label(*error_span, "cannot reborrow mutably");
|
||||
|
@ -29,7 +29,7 @@ fn define<Bx: BuilderMethods<'a, 'tcx>>(&self, cx: &'a Bx::CodegenCx) {
|
||||
cx.codegen_static(def_id, cx.tcx().is_mutable_static(def_id));
|
||||
}
|
||||
MonoItem::GlobalAsm(hir_id) => {
|
||||
let item = cx.tcx().hir().expect_item_by_hir_id(hir_id);
|
||||
let item = cx.tcx().hir().expect_item(hir_id);
|
||||
if let hir::ItemKind::GlobalAsm(ref ga) = item.node {
|
||||
cx.codegen_global_asm(ga);
|
||||
} else {
|
||||
|
@ -923,7 +923,7 @@ fn print_with_analysis<'tcx>(
|
||||
node);
|
||||
|
||||
let hir_id = tcx.hir().node_to_hir_id(nodeid);
|
||||
tcx.sess.span_fatal(tcx.hir().span_by_hir_id(hir_id), &message)
|
||||
tcx.sess.span_fatal(tcx.hir().span(hir_id), &message)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -254,7 +254,7 @@ fn check_mod(&mut self, cx: &LateContext<'_, '_>, _: &'tcx hir::Mod, _: Span, id
|
||||
let crate_ident = if let Some(name) = &cx.tcx.sess.opts.crate_name {
|
||||
Some(Ident::from_str(name))
|
||||
} else {
|
||||
attr::find_by_name(&cx.tcx.hir().attrs_by_hir_id(hir::CRATE_HIR_ID), sym::crate_name)
|
||||
attr::find_by_name(&cx.tcx.hir().attrs(hir::CRATE_HIR_ID), sym::crate_name)
|
||||
.and_then(|attr| attr.meta())
|
||||
.and_then(|meta| {
|
||||
meta.name_value_literal().and_then(|lit| {
|
||||
|
@ -921,7 +921,7 @@ fn check_foreign_static(&mut self, id: hir::HirId, span: Span) {
|
||||
impl<'a, 'tcx> LateLintPass<'a, 'tcx> for ImproperCTypes {
|
||||
fn check_foreign_item(&mut self, cx: &LateContext<'_, '_>, it: &hir::ForeignItem) {
|
||||
let mut vis = ImproperCTypesVisitor { cx };
|
||||
let abi = cx.tcx.hir().get_foreign_abi_by_hir_id(it.hir_id);
|
||||
let abi = cx.tcx.hir().get_foreign_abi(it.hir_id);
|
||||
if abi != Abi::RustIntrinsic && abi != Abi::PlatformIntrinsic {
|
||||
match it.node {
|
||||
hir::ForeignItemKind::Fn(ref decl, _, _) => {
|
||||
|
@ -136,7 +136,7 @@ fn check_must_use_ty<'tcx>(
|
||||
descr_post_path: &str,
|
||||
) -> bool {
|
||||
if ty.is_unit() || cx.tcx.is_ty_uninhabited_from(
|
||||
cx.tcx.hir().get_module_parent_by_hir_id(expr.hir_id), ty)
|
||||
cx.tcx.hir().get_module_parent(expr.hir_id), ty)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
@ -579,7 +579,7 @@ fn encode_enum_variant_info(
|
||||
};
|
||||
|
||||
let enum_id = tcx.hir().as_local_hir_id(enum_did).unwrap();
|
||||
let enum_vis = &tcx.hir().expect_item_by_hir_id(enum_id).vis;
|
||||
let enum_vis = &tcx.hir().expect_item(enum_id).vis;
|
||||
|
||||
Entry {
|
||||
kind: EntryKind::Variant(self.lazy(&data)),
|
||||
@ -632,7 +632,7 @@ fn encode_enum_variant_ctor(
|
||||
// Variant constructors have the same visibility as the parent enums, unless marked as
|
||||
// non-exhaustive, in which case they are lowered to `pub(crate)`.
|
||||
let enum_id = tcx.hir().as_local_hir_id(enum_did).unwrap();
|
||||
let enum_vis = &tcx.hir().expect_item_by_hir_id(enum_id).vis;
|
||||
let enum_vis = &tcx.hir().expect_item(enum_id).vis;
|
||||
let mut ctor_vis = ty::Visibility::from_hir(enum_vis, enum_id, tcx);
|
||||
if variant.is_field_list_non_exhaustive() && ctor_vis == ty::Visibility::Public {
|
||||
ctor_vis = ty::Visibility::Restricted(DefId::local(CRATE_DEF_INDEX));
|
||||
@ -751,7 +751,7 @@ fn encode_struct_ctor(&mut self, (adt_def_id, def_id): (DefId, DefId)) -> Entry<
|
||||
};
|
||||
|
||||
let struct_id = tcx.hir().as_local_hir_id(adt_def_id).unwrap();
|
||||
let struct_vis = &tcx.hir().expect_item_by_hir_id(struct_id).vis;
|
||||
let struct_vis = &tcx.hir().expect_item(struct_id).vis;
|
||||
let mut ctor_vis = ty::Visibility::from_hir(struct_vis, struct_id, tcx);
|
||||
for field in &variant.fields {
|
||||
if ctor_vis.is_at_least(field.vis, tcx) {
|
||||
|
@ -177,7 +177,7 @@ fn do_mir_borrowck<'a, 'tcx>(
|
||||
|bd, i| DebugFormatted::new(&bd.move_data().move_paths[i]),
|
||||
));
|
||||
|
||||
let locals_are_invalidated_at_exit = tcx.hir().body_owner_kind_by_hir_id(id).is_fn_or_closure();
|
||||
let locals_are_invalidated_at_exit = tcx.hir().body_owner_kind(id).is_fn_or_closure();
|
||||
let borrow_set = Rc::new(BorrowSet::build(
|
||||
tcx, body, locals_are_invalidated_at_exit, &mdpe.move_data));
|
||||
|
||||
|
@ -422,7 +422,7 @@ fn report_cannot_move_from_borrowed_content(
|
||||
let upvar = &self.upvars[upvar_field.unwrap().index()];
|
||||
let upvar_hir_id = upvar.var_hir_id;
|
||||
let upvar_name = upvar.name;
|
||||
let upvar_span = self.infcx.tcx.hir().span_by_hir_id(upvar_hir_id);
|
||||
let upvar_span = self.infcx.tcx.hir().span(upvar_hir_id);
|
||||
|
||||
let place_name = self.describe_place(move_place).unwrap();
|
||||
|
||||
|
@ -310,7 +310,7 @@ fn get_named_span(
|
||||
let scope = error_region.free_region_binding_scope(tcx);
|
||||
let node = tcx.hir().as_local_hir_id(scope).unwrap_or(hir::DUMMY_HIR_ID);
|
||||
|
||||
let span = tcx.sess.source_map().def_span(tcx.hir().span_by_hir_id(node));
|
||||
let span = tcx.sess.source_map().def_span(tcx.hir().span(node));
|
||||
if let Some(param) = tcx.hir()
|
||||
.get_generics(scope)
|
||||
.and_then(|generics| generics.get_named(name))
|
||||
|
@ -73,7 +73,7 @@ impl<'tcx> RegionInferenceContext<'tcx> {
|
||||
debug!("get_upvar_name_and_span_for_region: upvar_hir_id={:?}", upvar_hir_id);
|
||||
|
||||
let upvar_name = tcx.hir().name_by_hir_id(upvar_hir_id);
|
||||
let upvar_span = tcx.hir().span_by_hir_id(upvar_hir_id);
|
||||
let upvar_span = tcx.hir().span(upvar_hir_id);
|
||||
debug!("get_upvar_name_and_span_for_region: upvar_name={:?} upvar_span={:?}",
|
||||
upvar_name, upvar_span);
|
||||
|
||||
|
@ -471,7 +471,7 @@ fn defining_ty(&self) -> DefiningTy<'tcx> {
|
||||
let tcx = self.infcx.tcx;
|
||||
let closure_base_def_id = tcx.closure_base_def_id(self.mir_def_id);
|
||||
|
||||
match tcx.hir().body_owner_kind_by_hir_id(self.mir_hir_id) {
|
||||
match tcx.hir().body_owner_kind(self.mir_hir_id) {
|
||||
BodyOwnerKind::Closure |
|
||||
BodyOwnerKind::Fn => {
|
||||
let defining_ty = if self.mir_def_id == closure_base_def_id {
|
||||
|
@ -55,10 +55,10 @@ pub fn mir_build<'tcx>(tcx: TyCtxt<'tcx>, def_id: DefId) -> Body<'tcx> {
|
||||
(*body_id, ty.span)
|
||||
}
|
||||
Node::AnonConst(hir::AnonConst { body, hir_id, .. }) => {
|
||||
(*body, tcx.hir().span_by_hir_id(*hir_id))
|
||||
(*body, tcx.hir().span(*hir_id))
|
||||
}
|
||||
|
||||
_ => span_bug!(tcx.hir().span_by_hir_id(id), "can't build MIR for {:?}", def_id),
|
||||
_ => span_bug!(tcx.hir().span(id), "can't build MIR for {:?}", def_id),
|
||||
};
|
||||
|
||||
tcx.infer_ctxt().enter(|infcx| {
|
||||
@ -103,7 +103,7 @@ pub fn mir_build<'tcx>(tcx: TyCtxt<'tcx>, def_id: DefId) -> Body<'tcx> {
|
||||
let self_arg;
|
||||
if let Some(ref fn_decl) = tcx.hir().fn_decl_by_hir_id(owner_id) {
|
||||
let ty_hir_id = fn_decl.inputs[index].hir_id;
|
||||
let ty_span = tcx.hir().span_by_hir_id(ty_hir_id);
|
||||
let ty_span = tcx.hir().span(ty_hir_id);
|
||||
opt_ty_info = Some(ty_span);
|
||||
self_arg = if index == 0 && fn_decl.implicit_self.has_implicit_self() {
|
||||
match fn_decl.implicit_self {
|
||||
@ -131,7 +131,7 @@ pub fn mir_build<'tcx>(tcx: TyCtxt<'tcx>, def_id: DefId) -> Body<'tcx> {
|
||||
ty::Generator(gen_def_id, gen_substs, ..) =>
|
||||
gen_substs.sig(gen_def_id, tcx),
|
||||
_ =>
|
||||
span_bug!(tcx.hir().span_by_hir_id(id),
|
||||
span_bug!(tcx.hir().span(id),
|
||||
"generator w/o generator type: {:?}", ty),
|
||||
};
|
||||
(Some(gen_sig.yield_ty), gen_sig.return_ty)
|
||||
@ -535,7 +535,7 @@ fn construct_fn<'a, 'tcx, A>(
|
||||
|
||||
let tcx = hir.tcx();
|
||||
let tcx_hir = tcx.hir();
|
||||
let span = tcx_hir.span_by_hir_id(fn_id);
|
||||
let span = tcx_hir.span(fn_id);
|
||||
|
||||
let hir_tables = hir.tables();
|
||||
let fn_def_id = tcx_hir.local_def_id_from_hir_id(fn_id);
|
||||
@ -650,7 +650,7 @@ fn construct_const<'a, 'tcx>(
|
||||
) -> Body<'tcx> {
|
||||
let tcx = hir.tcx();
|
||||
let owner_id = tcx.hir().body_owner(body_id);
|
||||
let span = tcx.hir().span_by_hir_id(owner_id);
|
||||
let span = tcx.hir().span(owner_id);
|
||||
let mut builder = Builder::new(
|
||||
hir,
|
||||
span,
|
||||
@ -689,7 +689,7 @@ fn construct_error<'a, 'tcx>(
|
||||
body_id: hir::BodyId
|
||||
) -> Body<'tcx> {
|
||||
let owner_id = hir.tcx().hir().body_owner(body_id);
|
||||
let span = hir.tcx().hir().span_by_hir_id(owner_id);
|
||||
let span = hir.tcx().hir().span(owner_id);
|
||||
let ty = hir.tcx().types.err;
|
||||
let mut builder = Builder::new(hir, span, 0, Safety::Safe, ty, span, vec![], vec![], false);
|
||||
let source_info = builder.source_info(span);
|
||||
|
@ -49,7 +49,7 @@ fn mirror_stmts<'a, 'tcx>(
|
||||
for (index, stmt) in stmts.iter().enumerate() {
|
||||
let hir_id = stmt.hir_id;
|
||||
let opt_dxn_ext = cx.region_scope_tree.opt_destruction_scope(hir_id.local_id);
|
||||
let stmt_span = StatementSpan(cx.tcx.hir().span_by_hir_id(hir_id));
|
||||
let stmt_span = StatementSpan(cx.tcx.hir().span(hir_id));
|
||||
match stmt.node {
|
||||
hir::StmtKind::Expr(ref expr) |
|
||||
hir::StmtKind::Semi(ref expr) => {
|
||||
|
@ -56,7 +56,7 @@ pub fn new(infcx: &'a InferCtxt<'a, 'tcx>, src_id: hir::HirId) -> Cx<'a, 'tcx> {
|
||||
let tcx = infcx.tcx;
|
||||
let src_def_id = tcx.hir().local_def_id_from_hir_id(src_id);
|
||||
let tables = tcx.typeck_tables_of(src_def_id);
|
||||
let body_owner_kind = tcx.hir().body_owner_kind_by_hir_id(src_id);
|
||||
let body_owner_kind = tcx.hir().body_owner_kind(src_id);
|
||||
|
||||
let constness = match body_owner_kind {
|
||||
hir::BodyOwnerKind::Const |
|
||||
@ -65,7 +65,7 @@ pub fn new(infcx: &'a InferCtxt<'a, 'tcx>, src_id: hir::HirId) -> Cx<'a, 'tcx> {
|
||||
hir::BodyOwnerKind::Fn => hir::Constness::NotConst,
|
||||
};
|
||||
|
||||
let attrs = tcx.hir().attrs_by_hir_id(src_id);
|
||||
let attrs = tcx.hir().attrs(src_id);
|
||||
|
||||
// Some functions always have overflow checks enabled,
|
||||
// however, they may not get codegen'd, depending on
|
||||
|
@ -161,7 +161,7 @@ fn check_match(
|
||||
}
|
||||
}
|
||||
|
||||
let module = self.tcx.hir().get_module_parent_by_hir_id(scrut.hir_id);
|
||||
let module = self.tcx.hir().get_module_parent(scrut.hir_id);
|
||||
MatchCheckCtxt::create_and_enter(self.tcx, self.param_env, module, |ref mut cx| {
|
||||
let mut have_errors = false;
|
||||
|
||||
@ -193,7 +193,7 @@ fn check_match(
|
||||
// Then, if the match has no arms, check whether the scrutinee
|
||||
// is uninhabited.
|
||||
let pat_ty = self.tables.node_type(scrut.hir_id);
|
||||
let module = self.tcx.hir().get_module_parent_by_hir_id(scrut.hir_id);
|
||||
let module = self.tcx.hir().get_module_parent(scrut.hir_id);
|
||||
let mut def_span = None;
|
||||
let mut missing_variants = vec![];
|
||||
if inlined_arms.is_empty() {
|
||||
@ -261,7 +261,7 @@ fn check_match(
|
||||
}
|
||||
|
||||
fn check_irrefutable(&self, pat: &'tcx Pat, origin: &str) {
|
||||
let module = self.tcx.hir().get_module_parent_by_hir_id(pat.hir_id);
|
||||
let module = self.tcx.hir().get_module_parent(pat.hir_id);
|
||||
MatchCheckCtxt::create_and_enter(self.tcx, self.param_env, module, |ref mut cx| {
|
||||
let mut patcx = PatternContext::new(self.tcx,
|
||||
self.param_env.and(self.identity_substs),
|
||||
|
@ -130,7 +130,7 @@ fn check_fn_for_unconditional_recursion(
|
||||
// recurs.
|
||||
if !reached_exit_without_self_call && !self_call_locations.is_empty() {
|
||||
let hir_id = tcx.hir().as_local_hir_id(def_id).unwrap();
|
||||
let sp = tcx.sess.source_map().def_span(tcx.hir().span_by_hir_id(hir_id));
|
||||
let sp = tcx.sess.source_map().def_span(tcx.hir().span(hir_id));
|
||||
let mut db = tcx.struct_span_lint_hir(UNCONDITIONAL_RECURSION,
|
||||
hir_id,
|
||||
sp,
|
||||
|
@ -455,7 +455,7 @@ fn check_recursion_limit<'tcx>(
|
||||
let error = format!("reached the recursion limit while instantiating `{}`",
|
||||
instance);
|
||||
if let Some(hir_id) = tcx.hir().as_local_hir_id(def_id) {
|
||||
tcx.sess.span_fatal(tcx.hir().span_by_hir_id(hir_id), &error);
|
||||
tcx.sess.span_fatal(tcx.hir().span(hir_id), &error);
|
||||
} else {
|
||||
tcx.sess.fatal(&error);
|
||||
}
|
||||
|
@ -193,7 +193,7 @@ fn local_span(&self, tcx: TyCtxt<'tcx>) -> Option<Span> {
|
||||
MonoItem::GlobalAsm(hir_id) => {
|
||||
Some(hir_id)
|
||||
}
|
||||
}.map(|hir_id| tcx.hir().span_by_hir_id(hir_id))
|
||||
}.map(|hir_id| tcx.hir().span(hir_id))
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -488,7 +488,7 @@ fn check_unused_unsafe<'a, 'tcx>(
|
||||
) {
|
||||
let body_id =
|
||||
tcx.hir().as_local_hir_id(def_id).and_then(|hir_id| {
|
||||
tcx.hir().maybe_body_owned_by_by_hir_id(hir_id)
|
||||
tcx.hir().maybe_body_owned_by(hir_id)
|
||||
});
|
||||
|
||||
let body_id = match body_id {
|
||||
@ -527,7 +527,7 @@ fn unsafety_check_result<'tcx>(tcx: TyCtxt<'tcx>, def_id: DefId) -> UnsafetyChec
|
||||
let param_env = tcx.param_env(def_id);
|
||||
|
||||
let id = tcx.hir().as_local_hir_id(def_id).unwrap();
|
||||
let (const_context, min_const_fn) = match tcx.hir().body_owner_kind_by_hir_id(id) {
|
||||
let (const_context, min_const_fn) = match tcx.hir().body_owner_kind(id) {
|
||||
hir::BodyOwnerKind::Closure => (false, false),
|
||||
hir::BodyOwnerKind::Fn => (tcx.is_const_fn(def_id), tcx.is_min_const_fn(def_id)),
|
||||
hir::BodyOwnerKind::Const |
|
||||
@ -591,12 +591,12 @@ fn is_enclosed(
|
||||
}
|
||||
|
||||
fn report_unused_unsafe(tcx: TyCtxt<'_>, used_unsafe: &FxHashSet<hir::HirId>, id: hir::HirId) {
|
||||
let span = tcx.sess.source_map().def_span(tcx.hir().span_by_hir_id(id));
|
||||
let span = tcx.sess.source_map().def_span(tcx.hir().span(id));
|
||||
let msg = "unnecessary `unsafe` block";
|
||||
let mut db = tcx.struct_span_lint_hir(UNUSED_UNSAFE, id, span, msg);
|
||||
db.span_label(span, msg);
|
||||
if let Some((kind, id)) = is_enclosed(tcx, used_unsafe, id) {
|
||||
db.span_label(tcx.sess.source_map().def_span(tcx.hir().span_by_hir_id(id)),
|
||||
db.span_label(tcx.sess.source_map().def_span(tcx.hir().span(id)),
|
||||
format!("because it's nested under this `unsafe` {}", kind));
|
||||
}
|
||||
db.emit();
|
||||
|
@ -70,7 +70,7 @@ fn run_pass(&self, caller_body: &mut Body<'tcx>) {
|
||||
|
||||
// Only do inlining into fn bodies.
|
||||
let id = self.tcx.hir().as_local_hir_id(self.source.def_id()).unwrap();
|
||||
if self.tcx.hir().body_owner_kind_by_hir_id(id).is_fn_or_closure()
|
||||
if self.tcx.hir().body_owner_kind(id).is_fn_or_closure()
|
||||
&& self.source.promoted.is_none()
|
||||
{
|
||||
for (bb, bb_data) in caller_body.basic_blocks().iter_enumerated() {
|
||||
|
@ -208,7 +208,7 @@ fn mir_const<'tcx>(tcx: TyCtxt<'tcx>, def_id: DefId) -> &'tcx Steal<Body<'tcx>>
|
||||
|
||||
fn mir_validated(tcx: TyCtxt<'tcx>, def_id: DefId) -> &'tcx Steal<Body<'tcx>> {
|
||||
let hir_id = tcx.hir().as_local_hir_id(def_id).unwrap();
|
||||
if let hir::BodyOwnerKind::Const = tcx.hir().body_owner_kind_by_hir_id(hir_id) {
|
||||
if let hir::BodyOwnerKind::Const = tcx.hir().body_owner_kind(hir_id) {
|
||||
// Ensure that we compute the `mir_const_qualif` for constants at
|
||||
// this point, before we steal the mir-const result.
|
||||
let _ = tcx.mir_const_qualif(def_id);
|
||||
|
@ -1503,7 +1503,7 @@ fn run_pass<'tcx>(&self, tcx: TyCtxt<'tcx>, src: MirSource<'tcx>, body: &mut Bod
|
||||
let def_id = src.def_id();
|
||||
let id = tcx.hir().as_local_hir_id(def_id).unwrap();
|
||||
let mut const_promoted_temps = None;
|
||||
let mode = match tcx.hir().body_owner_kind_by_hir_id(id) {
|
||||
let mode = match tcx.hir().body_owner_kind(id) {
|
||||
hir::BodyOwnerKind::Closure => Mode::NonConstFn,
|
||||
hir::BodyOwnerKind::Fn => {
|
||||
if tcx.is_const_fn(def_id) {
|
||||
|
@ -175,7 +175,7 @@ fn check_nested_body(&mut self, body_id: hir::BodyId) -> Promotability {
|
||||
self.in_fn = false;
|
||||
self.in_static = false;
|
||||
|
||||
match self.tcx.hir().body_owner_kind_by_hir_id(item_id) {
|
||||
match self.tcx.hir().body_owner_kind(item_id) {
|
||||
hir::BodyOwnerKind::Closure |
|
||||
hir::BodyOwnerKind::Fn => self.in_fn = true,
|
||||
hir::BodyOwnerKind::Static(_) => self.in_static = true,
|
||||
|
@ -233,7 +233,7 @@ fn def_id_visibility<'tcx>(
|
||||
Node::Item(item) => &item.vis,
|
||||
Node::ForeignItem(foreign_item) => &foreign_item.vis,
|
||||
Node::TraitItem(..) | Node::Variant(..) => {
|
||||
return def_id_visibility(tcx, tcx.hir().get_parent_did_by_hir_id(hir_id));
|
||||
return def_id_visibility(tcx, tcx.hir().get_parent_did(hir_id));
|
||||
}
|
||||
Node::ImplItem(impl_item) => {
|
||||
match tcx.hir().get_by_hir_id(tcx.hir().get_parent_item(hir_id)) {
|
||||
@ -255,7 +255,7 @@ fn def_id_visibility<'tcx>(
|
||||
tcx, parent_did,
|
||||
);
|
||||
|
||||
let adt_def = tcx.adt_def(tcx.hir().get_parent_did_by_hir_id(hir_id));
|
||||
let adt_def = tcx.adt_def(tcx.hir().get_parent_did(hir_id));
|
||||
let ctor_did = tcx.hir().local_def_id_from_hir_id(
|
||||
vdata.ctor_hir_id().unwrap());
|
||||
let variant = adt_def.variant_with_ctor_id(ctor_did);
|
||||
@ -294,7 +294,7 @@ fn def_id_visibility<'tcx>(
|
||||
// visibility to within the crate.
|
||||
if ctor_vis == ty::Visibility::Public {
|
||||
let adt_def =
|
||||
tcx.adt_def(tcx.hir().get_parent_did_by_hir_id(hir_id));
|
||||
tcx.adt_def(tcx.hir().get_parent_did(hir_id));
|
||||
if adt_def.non_enum_variant().is_field_list_non_exhaustive() {
|
||||
ctor_vis =
|
||||
ty::Visibility::Restricted(DefId::local(CRATE_DEF_INDEX));
|
||||
@ -311,7 +311,7 @@ fn def_id_visibility<'tcx>(
|
||||
}
|
||||
Node::Expr(expr) => {
|
||||
return (ty::Visibility::Restricted(
|
||||
tcx.hir().get_module_parent_by_hir_id(expr.hir_id)),
|
||||
tcx.hir().get_module_parent(expr.hir_id)),
|
||||
expr.span, "private")
|
||||
}
|
||||
node => bug!("unexpected node kind: {:?}", node)
|
||||
@ -501,11 +501,11 @@ fn update_visibility_of_intermediate_use_statements(&mut self, segments: &[hir::
|
||||
if let Some(item) = module.res
|
||||
.and_then(|res| res.mod_def_id())
|
||||
.and_then(|def_id| self.tcx.hir().as_local_hir_id(def_id))
|
||||
.map(|module_hir_id| self.tcx.hir().expect_item_by_hir_id(module_hir_id))
|
||||
.map(|module_hir_id| self.tcx.hir().expect_item(module_hir_id))
|
||||
{
|
||||
if let hir::ItemKind::Mod(m) = &item.node {
|
||||
for item_id in m.item_ids.as_ref() {
|
||||
let item = self.tcx.hir().expect_item_by_hir_id(item_id.id);
|
||||
let item = self.tcx.hir().expect_item(item_id.id);
|
||||
let def_id = self.tcx.hir().local_def_id_from_hir_id(item_id.id);
|
||||
if !self.tcx.hygienic_eq(segment.ident, item.ident, def_id) { continue; }
|
||||
if let hir::ItemKind::Use(..) = item.node {
|
||||
@ -764,7 +764,7 @@ fn visit_macro_def(&mut self, md: &'tcx hir::MacroDef) {
|
||||
let module = if module_id == hir::CRATE_HIR_ID {
|
||||
&self.tcx.hir().krate().module
|
||||
} else if let hir::ItemKind::Mod(ref module) =
|
||||
self.tcx.hir().expect_item_by_hir_id(module_id).node {
|
||||
self.tcx.hir().expect_item(module_id).node {
|
||||
module
|
||||
} else {
|
||||
unreachable!()
|
||||
@ -1690,7 +1690,7 @@ fn check(
|
||||
tcx: self.tcx,
|
||||
item_id,
|
||||
item_def_id: self.tcx.hir().local_def_id_from_hir_id(item_id),
|
||||
span: self.tcx.hir().span_by_hir_id(item_id),
|
||||
span: self.tcx.hir().span(item_id),
|
||||
required_visibility,
|
||||
has_pub_restricted: self.has_pub_restricted,
|
||||
has_old_errors,
|
||||
|
@ -354,7 +354,7 @@ fn confirm_builtin_call(
|
||||
let def_span = match def {
|
||||
Res::Err => None,
|
||||
Res::Local(id) => {
|
||||
Some(self.tcx.hir().span_by_hir_id(id))
|
||||
Some(self.tcx.hir().span(id))
|
||||
},
|
||||
_ => def
|
||||
.opt_def_id()
|
||||
|
@ -813,7 +813,7 @@ fn compare_synthetic_generics<'tcx>(
|
||||
{
|
||||
if impl_synthetic != trait_synthetic {
|
||||
let impl_hir_id = tcx.hir().as_local_hir_id(impl_def_id).unwrap();
|
||||
let impl_span = tcx.hir().span_by_hir_id(impl_hir_id);
|
||||
let impl_span = tcx.hir().span(impl_hir_id);
|
||||
let trait_span = tcx.def_span(trait_def_id);
|
||||
let mut err = struct_span_err!(tcx.sess,
|
||||
impl_span,
|
||||
|
@ -213,7 +213,7 @@ fn ensure_drop_predicates_are_implied_by_item_defn<'tcx>(
|
||||
// repeated `contains` calls.
|
||||
|
||||
if !assumptions_in_impl_context.contains(&predicate) {
|
||||
let item_span = tcx.hir().span_by_hir_id(self_type_hir_id);
|
||||
let item_span = tcx.hir().span(self_type_hir_id);
|
||||
struct_span_err!(
|
||||
tcx.sess,
|
||||
drop_impl_span,
|
||||
|
@ -264,7 +264,7 @@ pub fn report_method_error<'b>(
|
||||
// local binding
|
||||
if let &QPath::Resolved(_, ref path) = &qpath {
|
||||
if let hir::def::Res::Local(hir_id) = path.res {
|
||||
let span = tcx.hir().span_by_hir_id(hir_id);
|
||||
let span = tcx.hir().span(hir_id);
|
||||
let snippet = tcx.sess.source_map().span_to_snippet(span);
|
||||
let filename = tcx.sess.source_map().span_to_filename(span);
|
||||
|
||||
@ -370,7 +370,7 @@ pub fn report_method_error<'b>(
|
||||
});
|
||||
|
||||
if let Some((field, field_ty)) = field_receiver {
|
||||
let scope = self.tcx.hir().get_module_parent_by_hir_id(self.body_id);
|
||||
let scope = self.tcx.hir().get_module_parent(self.body_id);
|
||||
let is_accessible = field.vis.is_accessible_from(scope, self.tcx);
|
||||
|
||||
if is_accessible {
|
||||
@ -564,7 +564,7 @@ fn suggest_use_candidates(&self,
|
||||
err: &mut DiagnosticBuilder<'_>,
|
||||
mut msg: String,
|
||||
candidates: Vec<DefId>) {
|
||||
let module_did = self.tcx.hir().get_module_parent_by_hir_id(self.body_id);
|
||||
let module_did = self.tcx.hir().get_module_parent(self.body_id);
|
||||
let module_id = self.tcx.hir().as_local_hir_id(module_did).unwrap();
|
||||
let krate = self.tcx.hir().krate();
|
||||
let (span, found_use) = UsePlacementFinder::check(self.tcx, krate, module_id);
|
||||
@ -897,7 +897,7 @@ fn visit_mod(
|
||||
}
|
||||
// Find a `use` statement.
|
||||
for item_id in &module.item_ids {
|
||||
let item = self.tcx.hir().expect_item_by_hir_id(item_id.id);
|
||||
let item = self.tcx.hir().expect_item(item_id.id);
|
||||
match item.node {
|
||||
hir::ItemKind::Use(..) => {
|
||||
// Don't suggest placing a `use` before the prelude
|
||||
|
@ -622,7 +622,7 @@ impl Inherited<'a, 'tcx> {
|
||||
fn new(infcx: InferCtxt<'a, 'tcx>, def_id: DefId) -> Self {
|
||||
let tcx = infcx.tcx;
|
||||
let item_id = tcx.hir().as_local_hir_id(def_id);
|
||||
let body_id = item_id.and_then(|id| tcx.hir().maybe_body_owned_by_by_hir_id(id));
|
||||
let body_id = item_id.and_then(|id| tcx.hir().maybe_body_owned_by(id));
|
||||
let implicit_region_bound = body_id.map(|body_id| {
|
||||
let body = tcx.hir().body(body_id);
|
||||
tcx.mk_region(ty::ReScope(region::Scope {
|
||||
@ -821,7 +821,7 @@ fn typeck_tables_of<'tcx>(tcx: TyCtxt<'tcx>, def_id: DefId) -> &'tcx ty::TypeckT
|
||||
}
|
||||
|
||||
let id = tcx.hir().as_local_hir_id(def_id).unwrap();
|
||||
let span = tcx.hir().span_by_hir_id(id);
|
||||
let span = tcx.hir().span(id);
|
||||
|
||||
// Figure out what primary body this item has.
|
||||
let (body_id, fn_decl) = primary_body_of(tcx, id).unwrap_or_else(|| {
|
||||
@ -1193,7 +1193,7 @@ fn check_fn<'a, 'tcx>(
|
||||
}
|
||||
|
||||
let inputs = fn_sig.inputs();
|
||||
let span = fcx.tcx.hir().span_by_hir_id(fn_id);
|
||||
let span = fcx.tcx.hir().span(fn_id);
|
||||
if inputs.len() == 1 {
|
||||
let arg_is_panic_info = match inputs[0].sty {
|
||||
ty::Ref(region, ty, mutbl) => match ty.sty {
|
||||
@ -1246,7 +1246,7 @@ fn check_fn<'a, 'tcx>(
|
||||
}
|
||||
|
||||
let inputs = fn_sig.inputs();
|
||||
let span = fcx.tcx.hir().span_by_hir_id(fn_id);
|
||||
let span = fcx.tcx.hir().span(fn_id);
|
||||
if inputs.len() == 1 {
|
||||
let arg_is_alloc_layout = match inputs[0].sty {
|
||||
ty::Adt(ref adt, _) => {
|
||||
@ -1909,11 +1909,11 @@ pub fn check_enum<'tcx>(tcx: TyCtxt<'tcx>, sp: Span, vs: &'tcx [hir::Variant], i
|
||||
let variant_i_hir_id = tcx.hir().as_local_hir_id(variant_did).unwrap();
|
||||
let variant_i = tcx.hir().expect_variant(variant_i_hir_id);
|
||||
let i_span = match variant_i.node.disr_expr {
|
||||
Some(ref expr) => tcx.hir().span_by_hir_id(expr.hir_id),
|
||||
None => tcx.hir().span_by_hir_id(variant_i_hir_id)
|
||||
Some(ref expr) => tcx.hir().span(expr.hir_id),
|
||||
None => tcx.hir().span(variant_i_hir_id)
|
||||
};
|
||||
let span = match v.node.disr_expr {
|
||||
Some(ref expr) => tcx.hir().span_by_hir_id(expr.hir_id),
|
||||
Some(ref expr) => tcx.hir().span(expr.hir_id),
|
||||
None => v.span
|
||||
};
|
||||
struct_span_err!(tcx.sess, span, E0081,
|
||||
@ -4363,7 +4363,7 @@ pub fn check_bounds_are_used<'tcx>(tcx: TyCtxt<'tcx>, generics: &ty::Generics, t
|
||||
for (&used, param) in types_used.iter().zip(types) {
|
||||
if !used {
|
||||
let id = tcx.hir().as_local_hir_id(param.def_id).unwrap();
|
||||
let span = tcx.hir().span_by_hir_id(id);
|
||||
let span = tcx.hir().span(id);
|
||||
struct_span_err!(tcx.sess, span, E0091, "type parameter `{}` is unused", param.name)
|
||||
.span_label(span, "unused type parameter")
|
||||
.emit();
|
||||
|
@ -175,7 +175,7 @@ pub fn regionck_fn(&self, fn_id: hir::HirId, body: &'tcx hir::Body) {
|
||||
|
||||
if self.err_count_since_creation() == 0 {
|
||||
// regionck assumes typeck succeeded
|
||||
rcx.visit_fn_body(fn_id, body, self.tcx.hir().span_by_hir_id(fn_id));
|
||||
rcx.visit_fn_body(fn_id, body, self.tcx.hir().span(fn_id));
|
||||
}
|
||||
|
||||
rcx.resolve_regions_and_report_errors(SuppressRegionErrors::when_nll_is_enabled(self.tcx));
|
||||
|
@ -70,7 +70,7 @@ fn with_fcx<F>(&mut self, f: F)
|
||||
/// the types first.
|
||||
pub fn check_item_well_formed<'tcx>(tcx: TyCtxt<'tcx>, def_id: DefId) {
|
||||
let hir_id = tcx.hir().as_local_hir_id(def_id).unwrap();
|
||||
let item = tcx.hir().expect_item_by_hir_id(hir_id);
|
||||
let item = tcx.hir().expect_item(hir_id);
|
||||
|
||||
debug!("check_item_well_formed(it.hir_id={:?}, it.name={})",
|
||||
item.hir_id,
|
||||
|
@ -45,7 +45,7 @@ pub fn resolve_type_vars_in_body(&self, body: &'tcx hir::Body) -> &'tcx ty::Type
|
||||
wbcx.visit_node_id(arg.pat.span, arg.hir_id);
|
||||
}
|
||||
// Type only exists for constants and statics, not functions.
|
||||
match self.tcx.hir().body_owner_kind_by_hir_id(item_id) {
|
||||
match self.tcx.hir().body_owner_kind(item_id) {
|
||||
hir::BodyOwnerKind::Const | hir::BodyOwnerKind::Static(_) => {
|
||||
wbcx.visit_node_id(body.value.span, item_id);
|
||||
}
|
||||
@ -398,7 +398,7 @@ fn visit_user_provided_tys(&mut self) {
|
||||
if let ty::UserType::TypeOf(_, user_substs) = c_ty.value {
|
||||
if self.rustc_dump_user_substs {
|
||||
// This is a unit-testing mechanism.
|
||||
let span = self.tcx().hir().span_by_hir_id(hir_id);
|
||||
let span = self.tcx().hir().span(hir_id);
|
||||
// We need to buffer the errors in order to guarantee a consistent
|
||||
// order when emitting them.
|
||||
let err = self.tcx().sess.struct_span_err(
|
||||
@ -773,13 +773,13 @@ fn to_span(&self, _: TyCtxt<'_>) -> Span {
|
||||
impl Locatable for DefIndex {
|
||||
fn to_span(&self, tcx: TyCtxt<'_>) -> Span {
|
||||
let hir_id = tcx.hir().def_index_to_hir_id(*self);
|
||||
tcx.hir().span_by_hir_id(hir_id)
|
||||
tcx.hir().span(hir_id)
|
||||
}
|
||||
}
|
||||
|
||||
impl Locatable for hir::HirId {
|
||||
fn to_span(&self, tcx: TyCtxt<'_>) -> Span {
|
||||
tcx.hir().span_by_hir_id(*self)
|
||||
tcx.hir().span(*self)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -121,7 +121,7 @@ fn unused_crates_lint<'tcx>(tcx: TyCtxt<'tcx>) {
|
||||
|
||||
for extern_crate in &crates_to_lint {
|
||||
let id = tcx.hir().as_local_hir_id(extern_crate.def_id).unwrap();
|
||||
let item = tcx.hir().expect_item_by_hir_id(id);
|
||||
let item = tcx.hir().expect_item(id);
|
||||
|
||||
// If the crate is fully unused, we suggest removing it altogether.
|
||||
// We do this in any edition.
|
||||
|
@ -88,7 +88,7 @@ fn visit_implementation_of_copy<'tcx>(tcx: TyCtxt<'tcx>, impl_did: DefId) {
|
||||
debug!("visit_implementation_of_copy: self_type={:?} (bound)",
|
||||
self_type);
|
||||
|
||||
let span = tcx.hir().span_by_hir_id(impl_hir_id);
|
||||
let span = tcx.hir().span(impl_hir_id);
|
||||
let param_env = tcx.param_env(impl_did);
|
||||
assert!(!self_type.has_escaping_bound_vars());
|
||||
|
||||
@ -98,7 +98,7 @@ fn visit_implementation_of_copy<'tcx>(tcx: TyCtxt<'tcx>, impl_did: DefId) {
|
||||
match param_env.can_type_implement_copy(tcx, self_type) {
|
||||
Ok(()) => {}
|
||||
Err(CopyImplementationError::InfrigingFields(fields)) => {
|
||||
let item = tcx.hir().expect_item_by_hir_id(impl_hir_id);
|
||||
let item = tcx.hir().expect_item(impl_hir_id);
|
||||
let span = if let ItemKind::Impl(.., Some(ref tr), _, _) = item.node {
|
||||
tr.path.span
|
||||
} else {
|
||||
@ -115,7 +115,7 @@ fn visit_implementation_of_copy<'tcx>(tcx: TyCtxt<'tcx>, impl_did: DefId) {
|
||||
err.emit()
|
||||
}
|
||||
Err(CopyImplementationError::NotAnAdt) => {
|
||||
let item = tcx.hir().expect_item_by_hir_id(impl_hir_id);
|
||||
let item = tcx.hir().expect_item(impl_hir_id);
|
||||
let span = if let ItemKind::Impl(.., ref ty, _) = item.node {
|
||||
ty.span
|
||||
} else {
|
||||
@ -161,7 +161,7 @@ fn visit_implementation_of_dispatch_from_dyn<'tcx>(tcx: TyCtxt<'tcx>, impl_did:
|
||||
let dispatch_from_dyn_trait = tcx.lang_items().dispatch_from_dyn_trait().unwrap();
|
||||
|
||||
let impl_hir_id = tcx.hir().as_local_hir_id(impl_did).unwrap();
|
||||
let span = tcx.hir().span_by_hir_id(impl_hir_id);
|
||||
let span = tcx.hir().span(impl_hir_id);
|
||||
|
||||
let source = tcx.type_of(impl_did);
|
||||
assert!(!source.has_escaping_bound_vars());
|
||||
@ -343,7 +343,7 @@ pub fn coerce_unsized_info<'tcx>(gcx: TyCtxt<'tcx>, impl_did: DefId) -> CoerceUn
|
||||
source,
|
||||
target);
|
||||
|
||||
let span = gcx.hir().span_by_hir_id(impl_hir_id);
|
||||
let span = gcx.hir().span(impl_hir_id);
|
||||
let param_env = gcx.param_env(impl_did);
|
||||
assert!(!source.has_escaping_bound_vars());
|
||||
|
||||
@ -480,11 +480,11 @@ pub fn coerce_unsized_info<'tcx>(gcx: TyCtxt<'tcx>, impl_did: DefId) -> CoerceUn
|
||||
being coerced, none found");
|
||||
return err_info;
|
||||
} else if diff_fields.len() > 1 {
|
||||
let item = gcx.hir().expect_item_by_hir_id(impl_hir_id);
|
||||
let item = gcx.hir().expect_item(impl_hir_id);
|
||||
let span = if let ItemKind::Impl(.., Some(ref t), _, _) = item.node {
|
||||
t.path.span
|
||||
} else {
|
||||
gcx.hir().span_by_hir_id(impl_hir_id)
|
||||
gcx.hir().span(impl_hir_id)
|
||||
};
|
||||
|
||||
let mut err = struct_span_err!(gcx.sess,
|
||||
|
@ -742,7 +742,7 @@ fn super_predicates_of<'tcx>(
|
||||
|
||||
fn trait_def<'tcx>(tcx: TyCtxt<'tcx>, def_id: DefId) -> &'tcx ty::TraitDef {
|
||||
let hir_id = tcx.hir().as_local_hir_id(def_id).unwrap();
|
||||
let item = tcx.hir().expect_item_by_hir_id(hir_id);
|
||||
let item = tcx.hir().expect_item(hir_id);
|
||||
|
||||
let (is_auto, unsafety) = match item.node {
|
||||
hir::ItemKind::Trait(is_auto, unsafety, ..) => (is_auto == hir::IsAuto::Yes, unsafety),
|
||||
@ -1177,7 +1177,7 @@ pub fn checked_type_of<'tcx>(tcx: TyCtxt<'tcx>, def_id: DefId, fail: bool) -> Op
|
||||
ImplItemKind::Const(ref ty, _) => icx.to_ty(ty),
|
||||
ImplItemKind::Existential(_) => {
|
||||
if tcx
|
||||
.impl_trait_ref(tcx.hir().get_parent_did_by_hir_id(hir_id))
|
||||
.impl_trait_ref(tcx.hir().get_parent_did(hir_id))
|
||||
.is_none()
|
||||
{
|
||||
report_assoc_ty_on_inherent_impl(tcx, item.span);
|
||||
@ -1187,7 +1187,7 @@ pub fn checked_type_of<'tcx>(tcx: TyCtxt<'tcx>, def_id: DefId, fail: bool) -> Op
|
||||
}
|
||||
ImplItemKind::Type(ref ty) => {
|
||||
if tcx
|
||||
.impl_trait_ref(tcx.hir().get_parent_did_by_hir_id(hir_id))
|
||||
.impl_trait_ref(tcx.hir().get_parent_did(hir_id))
|
||||
.is_none()
|
||||
{
|
||||
report_assoc_ty_on_inherent_impl(tcx, item.span);
|
||||
@ -1272,7 +1272,7 @@ pub fn checked_type_of<'tcx>(tcx: TyCtxt<'tcx>, def_id: DefId, fail: bool) -> Op
|
||||
..
|
||||
}) => match *def {
|
||||
VariantData::Unit(..) | VariantData::Struct(..) => {
|
||||
tcx.type_of(tcx.hir().get_parent_did_by_hir_id(hir_id))
|
||||
tcx.type_of(tcx.hir().get_parent_did(hir_id))
|
||||
}
|
||||
VariantData::Tuple(..) => {
|
||||
let substs = InternalSubsts::identity_for_item(tcx, def_id);
|
||||
@ -1325,7 +1325,7 @@ pub fn checked_type_of<'tcx>(tcx: TyCtxt<'tcx>, def_id: DefId, fail: bool) -> Op
|
||||
..
|
||||
}) if e.hir_id == hir_id =>
|
||||
{
|
||||
tcx.adt_def(tcx.hir().get_parent_did_by_hir_id(hir_id))
|
||||
tcx.adt_def(tcx.hir().get_parent_did(hir_id))
|
||||
.repr
|
||||
.discr_type()
|
||||
.to_ty(tcx)
|
||||
@ -1709,7 +1709,7 @@ fn fn_sig<'tcx>(tcx: TyCtxt<'tcx>, def_id: DefId) -> ty::PolyFnSig<'tcx> {
|
||||
node: ForeignItemKind::Fn(ref fn_decl, _, _),
|
||||
..
|
||||
}) => {
|
||||
let abi = tcx.hir().get_foreign_abi_by_hir_id(hir_id);
|
||||
let abi = tcx.hir().get_foreign_abi(hir_id);
|
||||
compute_sig_of_foreign_fn_decl(tcx, def_id, fn_decl, abi)
|
||||
}
|
||||
|
||||
@ -1717,7 +1717,7 @@ fn fn_sig<'tcx>(tcx: TyCtxt<'tcx>, def_id: DefId) -> ty::PolyFnSig<'tcx> {
|
||||
node: hir::VariantKind { data, .. },
|
||||
..
|
||||
}) if data.ctor_hir_id().is_some() => {
|
||||
let ty = tcx.type_of(tcx.hir().get_parent_did_by_hir_id(hir_id));
|
||||
let ty = tcx.type_of(tcx.hir().get_parent_did(hir_id));
|
||||
let inputs = data.fields()
|
||||
.iter()
|
||||
.map(|f| tcx.type_of(tcx.hir().local_def_id_from_hir_id(f.hir_id)));
|
||||
@ -1762,7 +1762,7 @@ fn impl_trait_ref<'tcx>(tcx: TyCtxt<'tcx>, def_id: DefId) -> Option<ty::TraitRef
|
||||
let icx = ItemCtxt::new(tcx, def_id);
|
||||
|
||||
let hir_id = tcx.hir().as_local_hir_id(def_id).unwrap();
|
||||
match tcx.hir().expect_item_by_hir_id(hir_id).node {
|
||||
match tcx.hir().expect_item(hir_id).node {
|
||||
hir::ItemKind::Impl(.., ref opt_trait_ref, _, _) => {
|
||||
opt_trait_ref.as_ref().map(|ast_trait_ref| {
|
||||
let selfty = tcx.type_of(def_id);
|
||||
@ -1775,7 +1775,7 @@ fn impl_trait_ref<'tcx>(tcx: TyCtxt<'tcx>, def_id: DefId) -> Option<ty::TraitRef
|
||||
|
||||
fn impl_polarity<'tcx>(tcx: TyCtxt<'tcx>, def_id: DefId) -> hir::ImplPolarity {
|
||||
let hir_id = tcx.hir().as_local_hir_id(def_id).unwrap();
|
||||
match tcx.hir().expect_item_by_hir_id(hir_id).node {
|
||||
match tcx.hir().expect_item(hir_id).node {
|
||||
hir::ItemKind::Impl(_, polarity, ..) => polarity,
|
||||
ref item => bug!("impl_polarity: {:?} not an impl", item),
|
||||
}
|
||||
|
@ -46,7 +46,7 @@ fn variances_of<'tcx>(tcx: TyCtxt<'tcx>, item_def_id: DefId) -> &'tcx [ty::Varia
|
||||
let id = tcx.hir().as_local_hir_id(item_def_id).expect("expected local def-id");
|
||||
let unsupported = || {
|
||||
// Variance not relevant.
|
||||
span_bug!(tcx.hir().span_by_hir_id(id), "asked to compute variance for wrong kind of item")
|
||||
span_bug!(tcx.hir().span(id), "asked to compute variance for wrong kind of item")
|
||||
};
|
||||
match tcx.hir().get_by_hir_id(id) {
|
||||
Node::Item(item) => match item.node {
|
||||
|
@ -305,7 +305,7 @@ pub fn build_impl(cx: &DocContext<'_>, did: DefId, ret: &mut Vec<clean::Item>) {
|
||||
}
|
||||
|
||||
let for_ = if let Some(hir_id) = tcx.hir().as_local_hir_id(did) {
|
||||
match tcx.hir().expect_item_by_hir_id(hir_id).node {
|
||||
match tcx.hir().expect_item(hir_id).node {
|
||||
hir::ItemKind::Impl(.., ref t, _) => {
|
||||
t.clean(cx)
|
||||
}
|
||||
@ -327,7 +327,7 @@ pub fn build_impl(cx: &DocContext<'_>, did: DefId, ret: &mut Vec<clean::Item>) {
|
||||
|
||||
let predicates = tcx.explicit_predicates_of(did);
|
||||
let (trait_items, generics) = if let Some(hir_id) = tcx.hir().as_local_hir_id(did) {
|
||||
match tcx.hir().expect_item_by_hir_id(hir_id).node {
|
||||
match tcx.hir().expect_item(hir_id).node {
|
||||
hir::ItemKind::Impl(.., ref gen, _, _, ref item_ids) => {
|
||||
(
|
||||
item_ids.iter()
|
||||
|
@ -276,7 +276,7 @@ fn clean(&self, cx: &DocContext<'_>) -> ExternalCrate {
|
||||
};
|
||||
let primitives = if root.is_local() {
|
||||
cx.tcx.hir().krate().module.item_ids.iter().filter_map(|&id| {
|
||||
let item = cx.tcx.hir().expect_item_by_hir_id(id.id);
|
||||
let item = cx.tcx.hir().expect_item(id.id);
|
||||
match item.node {
|
||||
hir::ItemKind::Mod(_) => {
|
||||
as_primitive(Res::Def(
|
||||
@ -320,7 +320,7 @@ fn clean(&self, cx: &DocContext<'_>) -> ExternalCrate {
|
||||
};
|
||||
let keywords = if root.is_local() {
|
||||
cx.tcx.hir().krate().module.item_ids.iter().filter_map(|&id| {
|
||||
let item = cx.tcx.hir().expect_item_by_hir_id(id.id);
|
||||
let item = cx.tcx.hir().expect_item(id.id);
|
||||
match item.node {
|
||||
hir::ItemKind::Mod(_) => {
|
||||
as_keyword(Res::Def(
|
||||
@ -2777,7 +2777,7 @@ fn clean(&self, cx: &DocContext<'_>) -> Type {
|
||||
},
|
||||
TyKind::Tup(ref tys) => Tuple(tys.clean(cx)),
|
||||
TyKind::Def(item_id, _) => {
|
||||
let item = cx.tcx.hir().expect_item_by_hir_id(item_id.id);
|
||||
let item = cx.tcx.hir().expect_item(item_id.id);
|
||||
if let hir::ItemKind::Existential(ref ty) = item.node {
|
||||
ImplTrait(ty.bounds.clean(cx))
|
||||
} else {
|
||||
@ -2799,7 +2799,7 @@ fn clean(&self, cx: &DocContext<'_>) -> Type {
|
||||
// Substitute private type aliases
|
||||
if let Some(hir_id) = cx.tcx.hir().as_local_hir_id(def_id) {
|
||||
if !cx.renderinfo.borrow().access_levels.is_exported(def_id) {
|
||||
alias = Some(&cx.tcx.hir().expect_item_by_hir_id(hir_id).node);
|
||||
alias = Some(&cx.tcx.hir().expect_item(hir_id).node);
|
||||
}
|
||||
}
|
||||
};
|
||||
@ -4441,7 +4441,7 @@ pub fn path_to_def_local(tcx: TyCtxt<'_>, path: &[Symbol]) -> Option<DefId> {
|
||||
let segment = path_it.next()?;
|
||||
|
||||
for item_id in mem::replace(&mut items, HirVec::new()).iter() {
|
||||
let item = tcx.hir().expect_item_by_hir_id(item_id.id);
|
||||
let item = tcx.hir().expect_item(item_id.id);
|
||||
if item.ident.name == *segment {
|
||||
if path_it.peek().is_none() {
|
||||
return Some(tcx.hir().local_def_id_from_hir_id(item_id.id))
|
||||
|
@ -248,7 +248,7 @@ pub fn visit_mod_contents(&mut self, span: Span, attrs: hir::HirVec<ast::Attribu
|
||||
let orig_inside_public_path = self.inside_public_path;
|
||||
self.inside_public_path &= vis.node.is_pub();
|
||||
for i in &m.item_ids {
|
||||
let item = self.cx.tcx.hir().expect_item_by_hir_id(i.id);
|
||||
let item = self.cx.tcx.hir().expect_item(i.id);
|
||||
self.visit_item(item, None, &mut om);
|
||||
}
|
||||
self.inside_public_path = orig_inside_public_path;
|
||||
@ -275,7 +275,7 @@ fn maybe_inline_local(&mut self,
|
||||
fn inherits_doc_hidden(cx: &core::DocContext<'_>, mut node: hir::HirId) -> bool {
|
||||
while let Some(id) = cx.tcx.hir().get_enclosing_scope(node) {
|
||||
node = id;
|
||||
if cx.tcx.hir().attrs_by_hir_id(node)
|
||||
if cx.tcx.hir().attrs(node)
|
||||
.lists(sym::doc).has_word(sym::hidden) {
|
||||
return true;
|
||||
}
|
||||
@ -295,7 +295,7 @@ fn inherits_doc_hidden(cx: &core::DocContext<'_>, mut node: hir::HirId) -> bool
|
||||
return false;
|
||||
};
|
||||
|
||||
let use_attrs = tcx.hir().attrs_by_hir_id(id);
|
||||
let use_attrs = tcx.hir().attrs(id);
|
||||
// Don't inline `doc(hidden)` imports so they can be stripped at a later stage.
|
||||
let is_no_inline = use_attrs.lists(sym::doc).has_word(sym::no_inline) ||
|
||||
use_attrs.lists(sym::doc).has_word(sym::hidden);
|
||||
@ -346,7 +346,7 @@ fn inherits_doc_hidden(cx: &core::DocContext<'_>, mut node: hir::HirId) -> bool
|
||||
Node::Item(&hir::Item { node: hir::ItemKind::Mod(ref m), .. }) if glob => {
|
||||
let prev = mem::replace(&mut self.inlining, true);
|
||||
for i in &m.item_ids {
|
||||
let i = self.cx.tcx.hir().expect_item_by_hir_id(i.id);
|
||||
let i = self.cx.tcx.hir().expect_item(i.id);
|
||||
self.visit_item(i, None, om);
|
||||
}
|
||||
self.inlining = prev;
|
||||
@ -361,7 +361,7 @@ fn inherits_doc_hidden(cx: &core::DocContext<'_>, mut node: hir::HirId) -> bool
|
||||
Node::ForeignItem(it) if !glob => {
|
||||
// Generate a fresh `extern {}` block if we want to inline a foreign item.
|
||||
om.foreigns.push(hir::ForeignMod {
|
||||
abi: tcx.hir().get_foreign_abi_by_hir_id(it.hir_id),
|
||||
abi: tcx.hir().get_foreign_abi(it.hir_id),
|
||||
items: vec![hir::ForeignItem {
|
||||
ident: renamed.unwrap_or(it.ident),
|
||||
.. it.clone()
|
||||
|
@ -45,7 +45,7 @@ fn check_fn(&mut self,
|
||||
|
||||
let item = match cx.tcx.hir().get_by_hir_id(id) {
|
||||
Node::Item(item) => item,
|
||||
_ => cx.tcx.hir().expect_item_by_hir_id(cx.tcx.hir().get_parent_item(id)),
|
||||
_ => cx.tcx.hir().expect_item(cx.tcx.hir().get_parent_item(id)),
|
||||
};
|
||||
|
||||
if !attr::contains_name(&item.attrs, Symbol::intern("whitelisted_attr")) {
|
||||
|
Loading…
Reference in New Issue
Block a user