Auto merge of #101228 - nnethercote:simplify-hir-PathSegment, r=petrochenkov
Simplify `hir::PathSegment` r? `@petrochenkov`
This commit is contained in:
commit
2dc703fd6e
28 changed files with 172 additions and 194 deletions
|
@ -912,7 +912,10 @@ impl<'tcx> DumpVisitor<'tcx> {
|
|||
_,
|
||||
)
|
||||
| Res::SelfTy { .. } => {
|
||||
self.dump_path_segment_ref(id, &hir::PathSegment::from_ident(ident));
|
||||
self.dump_path_segment_ref(
|
||||
id,
|
||||
&hir::PathSegment::new(ident, hir::HirId::INVALID, Res::Err),
|
||||
);
|
||||
}
|
||||
def => {
|
||||
error!("unexpected definition kind when processing collected idents: {:?}", def)
|
||||
|
|
|
@ -596,13 +596,14 @@ impl<'tcx> SaveContext<'tcx> {
|
|||
Node::TraitRef(tr) => tr.path.res,
|
||||
|
||||
Node::Item(&hir::Item { kind: hir::ItemKind::Use(path, _), .. }) => path.res,
|
||||
Node::PathSegment(seg) => match seg.res {
|
||||
Some(res) if res != Res::Err => res,
|
||||
_ => {
|
||||
Node::PathSegment(seg) => {
|
||||
if seg.res != Res::Err {
|
||||
seg.res
|
||||
} else {
|
||||
let parent_node = self.tcx.hir().get_parent_node(hir_id);
|
||||
self.get_path_res(parent_node)
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
Node::Expr(&hir::Expr { kind: hir::ExprKind::Struct(ref qpath, ..), .. }) => {
|
||||
self.typeck_results().qpath_res(qpath, hir_id)
|
||||
|
@ -648,7 +649,7 @@ impl<'tcx> SaveContext<'tcx> {
|
|||
}
|
||||
|
||||
pub fn get_path_segment_data(&self, path_seg: &hir::PathSegment<'_>) -> Option<Ref> {
|
||||
self.get_path_segment_data_with_id(path_seg, path_seg.hir_id?)
|
||||
self.get_path_segment_data_with_id(path_seg, path_seg.hir_id)
|
||||
}
|
||||
|
||||
pub fn get_path_segment_data_with_id(
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue