mirror of
https://github.com/rust-lang/rust.git
synced 2025-02-03 18:43:38 +00:00
Auto merge of #80889 - cjgillot:asa, r=oli-obk
Do not query the HIR directly in `opt_associated_item`. Papercut found by `@Aaron1011.`
This commit is contained in:
commit
6526e5c772
@ -2897,19 +2897,11 @@ impl<'tcx> TyCtxt<'tcx> {
|
||||
}
|
||||
|
||||
pub fn opt_associated_item(self, def_id: DefId) -> Option<&'tcx AssocItem> {
|
||||
let is_associated_item = if let Some(def_id) = def_id.as_local() {
|
||||
matches!(
|
||||
self.hir().get(self.hir().local_def_id_to_hir_id(def_id)),
|
||||
Node::TraitItem(_) | Node::ImplItem(_)
|
||||
)
|
||||
if let DefKind::AssocConst | DefKind::AssocFn | DefKind::AssocTy = self.def_kind(def_id) {
|
||||
Some(self.associated_item(def_id))
|
||||
} else {
|
||||
matches!(
|
||||
self.def_kind(def_id),
|
||||
DefKind::AssocConst | DefKind::AssocFn | DefKind::AssocTy
|
||||
)
|
||||
};
|
||||
|
||||
is_associated_item.then(|| self.associated_item(def_id))
|
||||
None
|
||||
}
|
||||
}
|
||||
|
||||
pub fn field_index(self, hir_id: hir::HirId, typeck_results: &TypeckResults<'_>) -> usize {
|
||||
|
Loading…
Reference in New Issue
Block a user