about summary refs log tree commit diff
diff options
context:
space:
mode:
authorkennytm <kennytm@gmail.com>2018-05-26 19:32:33 +0800
committerGitHub <noreply@github.com>2018-05-26 19:32:33 +0800
commit84b2e14b9d00d6d50e87d113bdf819e9eb18b3c8 (patch)
tree4377b9ae88f3b5715d060478cf5721842b011607
parent5089ebc5682ed71ee01b309c6681cb1ca127c62e (diff)
parenta49bc9ce5996b9cb0c49142f458a6612ef3c252c (diff)
downloadrust-84b2e14b9d00d6d50e87d113bdf819e9eb18b3c8.tar.gz
rust-84b2e14b9d00d6d50e87d113bdf819e9eb18b3c8.zip
Rollup merge of #51073 - dtolnay:empty, r=alexcrichton
Rename TokenStream::empty to TokenStream::new

There is no precedent for the `empty` name -- we do not have `Vec::empty` or `HashMap::empty` etc.

I would propose landing this but reflecting it in a non-breaking release of proc-macro2 that provides both `new` and a deprecated `empty` constructor.

Tracking issue: #38356

r? @alexcrichton
-rw-r--r--src/libproc_macro/lib.rs2
-rw-r--r--src/libproc_macro/quote.rs4
-rw-r--r--src/test/run-pass-fulldeps/proc-macro/auxiliary/modify-ast.rs2
-rw-r--r--src/test/run-pass-fulldeps/proc-macro/auxiliary/not-joint.rs4
-rw-r--r--src/test/ui-fulldeps/proc-macro/auxiliary/three-equals.rs2
5 files changed, 7 insertions, 7 deletions
diff --git a/src/libproc_macro/lib.rs b/src/libproc_macro/lib.rs
index bcab6168096..35e2d6b2316 100644
--- a/src/libproc_macro/lib.rs
+++ b/src/libproc_macro/lib.rs
@@ -93,7 +93,7 @@ impl !Sync for LexError {}
 impl TokenStream {
     /// Returns an empty `TokenStream` containing no token trees.
     #[unstable(feature = "proc_macro", issue = "38356")]
-    pub fn empty() -> TokenStream {
+    pub fn new() -> TokenStream {
         TokenStream(tokenstream::TokenStream::empty())
     }
 
diff --git a/src/libproc_macro/quote.rs b/src/libproc_macro/quote.rs
index 390d4bc0868..c9d0bc1405f 100644
--- a/src/libproc_macro/quote.rs
+++ b/src/libproc_macro/quote.rs
@@ -71,7 +71,7 @@ macro_rules! quote_tree {
 }
 
 macro_rules! quote {
-    () => { TokenStream::empty() };
+    () => { TokenStream::new() };
     ($($t:tt)*) => {
         [$(quote_tree!($t),)*].iter()
             .cloned()
@@ -104,7 +104,7 @@ impl<T: Quote> Quote for Option<T> {
 impl Quote for TokenStream {
     fn quote(self) -> TokenStream {
         if self.is_empty() {
-            return quote!(::TokenStream::empty());
+            return quote!(::TokenStream::new());
         }
         let mut after_dollar = false;
         let tokens = self.into_iter().filter_map(|tree| {
diff --git a/src/test/run-pass-fulldeps/proc-macro/auxiliary/modify-ast.rs b/src/test/run-pass-fulldeps/proc-macro/auxiliary/modify-ast.rs
index fb505755792..c37682220da 100644
--- a/src/test/run-pass-fulldeps/proc-macro/auxiliary/modify-ast.rs
+++ b/src/test/run-pass-fulldeps/proc-macro/auxiliary/modify-ast.rs
@@ -26,7 +26,7 @@ pub fn assert1(_a: TokenStream, b: TokenStream) -> TokenStream {
 #[proc_macro_derive(Foo, attributes(foo))]
 pub fn assert2(a: TokenStream) -> TokenStream {
     assert_eq(a, "pub struct MyStructc { _a: i32, }".parse().unwrap());
-    TokenStream::empty()
+    TokenStream::new()
 }
 
 fn assert_eq(a: TokenStream, b: TokenStream) {
diff --git a/src/test/run-pass-fulldeps/proc-macro/auxiliary/not-joint.rs b/src/test/run-pass-fulldeps/proc-macro/auxiliary/not-joint.rs
index 062a914534f..a640fabe04f 100644
--- a/src/test/run-pass-fulldeps/proc-macro/auxiliary/not-joint.rs
+++ b/src/test/run-pass-fulldeps/proc-macro/auxiliary/not-joint.rs
@@ -20,13 +20,13 @@ use proc_macro::*;
 #[proc_macro]
 pub fn tokens(input: TokenStream) -> TokenStream {
     assert_nothing_joint(input);
-    TokenStream::empty()
+    TokenStream::new()
 }
 
 #[proc_macro_attribute]
 pub fn nothing(_: TokenStream, input: TokenStream) -> TokenStream {
     assert_nothing_joint(input);
-    TokenStream::empty()
+    TokenStream::new()
 }
 
 fn assert_nothing_joint(s: TokenStream) {
diff --git a/src/test/ui-fulldeps/proc-macro/auxiliary/three-equals.rs b/src/test/ui-fulldeps/proc-macro/auxiliary/three-equals.rs
index 8dfb9cb4fb7..5b8fcab0baa 100644
--- a/src/test/ui-fulldeps/proc-macro/auxiliary/three-equals.rs
+++ b/src/test/ui-fulldeps/proc-macro/auxiliary/three-equals.rs
@@ -50,7 +50,7 @@ fn parse(input: TokenStream) -> Result<(), Diagnostic> {
 pub fn three_equals(input: TokenStream) -> TokenStream {
     if let Err(diag) = parse(input) {
         diag.emit();
-        return TokenStream::empty();
+        return TokenStream::new();
     }
 
     "3".parse().unwrap()