From 6dd5bb18d7a832add3f0cadb70897da6fd44892b Mon Sep 17 00:00:00 2001 From: Nick Cameron Date: Thu, 25 Oct 2018 15:23:45 +1300 Subject: [PATCH] more reviewer changes --- src/librustc/hir/lowering.rs | 6 +++--- src/librustc_resolve/lib.rs | 12 ++++-------- src/libsyntax/ast.rs | 6 +----- 3 files changed, 8 insertions(+), 16 deletions(-) diff --git a/src/librustc/hir/lowering.rs b/src/librustc/hir/lowering.rs index 3aea26c6829a5..6370a52018338 100644 --- a/src/librustc/hir/lowering.rs +++ b/src/librustc/hir/lowering.rs @@ -147,7 +147,6 @@ pub trait Resolver { fn resolve_hir_path( &mut self, path: &ast::Path, - args: Option>, is_value: bool, ) -> hir::Path; @@ -168,7 +167,6 @@ pub trait Resolver { span: Span, crate_root: Option<&str>, components: &[&str], - args: Option>, is_value: bool, ) -> hir::Path; } @@ -4856,7 +4854,9 @@ impl<'a> LoweringContext<'a> { 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 { diff --git a/src/librustc_resolve/lib.rs b/src/librustc_resolve/lib.rs index 0285a3c568cc1..546c5a5ed3d6c 100644 --- a/src/librustc_resolve/lib.rs +++ b/src/librustc_resolve/lib.rs @@ -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>, 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 @@ impl<'a, 'cl> hir::lowering::Resolver for Resolver<'a, 'cl> { span: Span, crate_root: Option<&str>, components: &[&str], - args: Option>, is_value: bool ) -> hir::Path { let segments = iter::once(keywords::CrateRoot.ident()) @@ -1602,7 +1600,7 @@ impl<'a, 'cl> hir::lowering::Resolver for Resolver<'a, 'cl> { segments, }; - self.resolve_hir_path(&path, args, is_value) + self.resolve_hir_path(&path, is_value) } fn get_resolution(&mut self, id: NodeId) -> Option { @@ -1648,7 +1646,7 @@ impl<'a, 'crateloader> Resolver<'a, 'crateloader> { .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 @@ impl<'a, 'crateloader> Resolver<'a, 'crateloader> { fn resolve_hir_path_cb( &mut self, path: &ast::Path, - args: Option>, is_value: bool, error_callback: F, ) -> hir::Path @@ -1697,12 +1694,11 @@ impl<'a, 'crateloader> Resolver<'a, 'crateloader> { } }; - 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, diff --git a/src/libsyntax/ast.rs b/src/libsyntax/ast.rs index d33077b336b46..ee82b9860058a 100644 --- a/src/libsyntax/ast.rs +++ b/src/libsyntax/ast.rs @@ -145,11 +145,7 @@ impl PathSegment { 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)) } }