diff options
| author | John Renner <john@jrenner.net> | 2018-07-31 15:00:45 -0700 |
|---|---|---|
| committer | John Renner <john@jrenner.net> | 2018-07-31 15:00:45 -0700 |
| commit | 549f0fd9f7740954cb14367d735db724669c8f79 (patch) | |
| tree | 3bff69fea0a0fdbdaa9904a941f8fa13f75a7d4c /src/libsyntax | |
| parent | 7947c58d2dafefed7bfa7e8a24d5f90d11b43517 (diff) | |
| download | rust-549f0fd9f7740954cb14367d735db724669c8f79.tar.gz rust-549f0fd9f7740954cb14367d735db724669c8f79.zip | |
Address code review
Diffstat (limited to 'src/libsyntax')
| -rw-r--r-- | src/libsyntax/ext/expand.rs | 15 |
1 files changed, 10 insertions, 5 deletions
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() |
