From 549f0fd9f7740954cb14367d735db724669c8f79 Mon Sep 17 00:00:00 2001 From: John Renner Date: Tue, 31 Jul 2018 15:00:45 -0700 Subject: Address code review --- src/libsyntax/ext/expand.rs | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) (limited to 'src/libsyntax') diff --git a/src/libsyntax/ext/expand.rs b/src/libsyntax/ext/expand.rs index 975b91a1088..96003be3152 100644 --- a/src/libsyntax/ext/expand.rs +++ b/src/libsyntax/ext/expand.rs @@ -1373,15 +1373,19 @@ impl<'a, 'b> Folder for InvocationCollector<'a, 'b> { result } // Ensure that test functions are accessible from the test harness. + // #[test] fn foo() {} + // becomes: + // #[test] pub fn foo_gensym(){} + // use foo_gensym as foo; ast::ItemKind::Fn(..) if self.cx.ecfg.should_test => { if self.tests_nameable && item.attrs.iter().any(|attr| is_test_or_bench(attr)) { - let orig_vis = item.vis.clone(); + let orig_ident = item.ident; + let orig_vis = item.vis.clone(); // Publicize the item under gensymed name to avoid pollution item = item.map(|mut item| { item.vis = respan(item.vis.span, ast::VisibilityKind::Public); - item.ident = Ident::from_interned_str( - item.ident.as_interned_str()).gensym(); + item.ident = item.ident.gensym(); item }); @@ -1389,8 +1393,9 @@ impl<'a, 'b> Folder for InvocationCollector<'a, 'b> { let use_item = self.cx.item_use_simple_( item.ident.span, orig_vis, - Some(Ident::from_interned_str(item.ident.as_interned_str())), - self.cx.path(item.ident.span, vec![Ident::from_str("self"), item.ident])); + Some(orig_ident), + self.cx.path(item.ident.span, + vec![keywords::SelfValue.ident(), item.ident])); SmallVector::many( self.fold_unnameable(item).into_iter() -- cgit 1.4.1-3-g733a5