提交 6dd5bb18 编写于 作者: N Nick Cameron

more reviewer changes

上级 63ac2aae
......@@ -147,7 +147,6 @@ pub trait Resolver {
fn resolve_hir_path(
&mut self,
path: &ast::Path,
args: Option<P<hir::GenericArgs>>,
is_value: bool,
) -> hir::Path;
......@@ -168,7 +167,6 @@ fn resolve_str_path(
span: Span,
crate_root: Option<&str>,
components: &[&str],
args: Option<P<hir::GenericArgs>>,
is_value: bool,
) -> hir::Path;
}
......@@ -4856,7 +4854,9 @@ fn std_path(
is_value: bool
) -> hir::Path {
let mut path = self.resolver
.resolve_str_path(span, self.crate_root, components, params, is_value);
.resolve_str_path(span, self.crate_root, components, is_value);
path.segments.last_mut().unwrap().args = params;
for seg in path.segments.iter_mut() {
if let Some(id) = seg.id {
......
......@@ -1574,10 +1574,9 @@ impl<'a, 'cl> hir::lowering::Resolver for Resolver<'a, 'cl> {
fn resolve_hir_path(
&mut self,
path: &ast::Path,
args: Option<P<hir::GenericArgs>>,
is_value: bool,
) -> hir::Path {
self.resolve_hir_path_cb(path, args, is_value,
self.resolve_hir_path_cb(path, is_value,
|resolver, span, error| resolve_error(resolver, span, error))
}
......@@ -1586,7 +1585,6 @@ fn resolve_str_path(
span: Span,
crate_root: Option<&str>,
components: &[&str],
args: Option<P<hir::GenericArgs>>,
is_value: bool
) -> hir::Path {
let segments = iter::once(keywords::CrateRoot.ident())
......@@ -1602,7 +1600,7 @@ fn resolve_str_path(
segments,
};
self.resolve_hir_path(&path, args, is_value)
self.resolve_hir_path(&path, is_value)
}
fn get_resolution(&mut self, id: NodeId) -> Option<PathResolution> {
......@@ -1648,7 +1646,7 @@ pub fn resolve_str_path_error(&mut self, span: Span, path_str: &str, is_value: b
.collect(),
}
};
let path = self.resolve_hir_path_cb(&path, None, is_value, |_, _, _| errored = true);
let path = self.resolve_hir_path_cb(&path, is_value, |_, _, _| errored = true);
if errored || path.def == Def::Err {
Err(())
} else {
......@@ -1660,7 +1658,6 @@ pub fn resolve_str_path_error(&mut self, span: Span, path_str: &str, is_value: b
fn resolve_hir_path_cb<F>(
&mut self,
path: &ast::Path,
args: Option<P<hir::GenericArgs>>,
is_value: bool,
error_callback: F,
) -> hir::Path
......@@ -1697,12 +1694,11 @@ fn resolve_hir_path_cb<F>(
}
};
let mut segments: Vec<_> = segments.iter().map(|seg| {
let segments: Vec<_> = segments.iter().map(|seg| {
let mut hir_seg = hir::PathSegment::from_ident(seg.ident);
hir_seg.def = Some(self.def_map.get(&seg.id).map_or(Def::Err, |p| p.base_def()));
hir_seg
}).collect();
segments.last_mut().unwrap().args = args;
hir::Path {
span,
def,
......
......@@ -145,11 +145,7 @@ pub fn from_ident(ident: Ident) -> Self {
PathSegment { ident, id: DUMMY_NODE_ID, args: None }
}
pub fn crate_root(span: Span) -> Self {
PathSegment {
ident: Ident::new(keywords::CrateRoot.name(), span),
id: DUMMY_NODE_ID,
args: None,
}
PathSegment::from_ident(Ident::new(keywords::CrateRoot.name(), span))
}
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册