about summary refs log tree commit diff
diff options
context:
space:
mode:
authorTaiki Endo <te316e89@gmail.com>2019-10-06 16:30:12 +0900
committergnzlbg <gnzlbg@users.noreply.github.com>2019-10-26 18:46:57 +0200
commit8f07ba7489aa0011eb604e8a0f2d8d4ceaa44a69 (patch)
treeacfe3d19fbd4057601d676f7b2851f3e76a601a9
parent9bb728636050a648456d664a3e7a3230e167708c (diff)
downloadrust-8f07ba7489aa0011eb604e8a0f2d8d4ceaa44a69.tar.gz
rust-8f07ba7489aa0011eb604e8a0f2d8d4ceaa44a69.zip
Update proc-macro2, syn, and quote to 1.0
-rw-r--r--library/stdarch/crates/assert-instr-macro/Cargo.toml6
-rw-r--r--library/stdarch/crates/assert-instr-macro/src/lib.rs27
-rw-r--r--library/stdarch/crates/simd-test-macro/Cargo.toml4
-rw-r--r--library/stdarch/crates/stdarch-verify/Cargo.toml6
-rw-r--r--library/stdarch/crates/stdarch-verify/src/lib.rs36
5 files changed, 37 insertions, 42 deletions
diff --git a/library/stdarch/crates/assert-instr-macro/Cargo.toml b/library/stdarch/crates/assert-instr-macro/Cargo.toml
index 0bf8b5faa06..eeefca25402 100644
--- a/library/stdarch/crates/assert-instr-macro/Cargo.toml
+++ b/library/stdarch/crates/assert-instr-macro/Cargo.toml
@@ -8,6 +8,6 @@ proc-macro = true
 test = false
 
 [dependencies]
-proc-macro2 = { version = "0.4", features = ["nightly"] }
-quote = "0.6"
-syn = { version = "0.15", features = ["full"] }
+proc-macro2 = "1.0"
+quote = "1.0"
+syn = { version = "1.0", features = ["full"] }
diff --git a/library/stdarch/crates/assert-instr-macro/src/lib.rs b/library/stdarch/crates/assert-instr-macro/src/lib.rs
index 0e739605846..dfa73ce5252 100644
--- a/library/stdarch/crates/assert-instr-macro/src/lib.rs
+++ b/library/stdarch/crates/assert-instr-macro/src/lib.rs
@@ -36,7 +36,7 @@ pub fn assert_instr(
     };
 
     let instr = &invoc.instr;
-    let name = &func.ident;
+    let name = &func.sig.ident;
 
     // Disable assert_instr for x86 targets compiled with avx enabled, which
     // causes LLVM to generate different intrinsics that the ones we are
@@ -62,21 +62,21 @@ pub fn assert_instr(
     );
     let mut inputs = Vec::new();
     let mut input_vals = Vec::new();
-    let ret = &func.decl.output;
-    for arg in func.decl.inputs.iter() {
+    let ret = &func.sig.output;
+    for arg in func.sig.inputs.iter() {
         let capture = match *arg {
-            syn::FnArg::Captured(ref c) => c,
+            syn::FnArg::Typed(ref c) => c,
             ref v => panic!(
                 "arguments must not have patterns: `{:?}`",
                 v.clone().into_token_stream()
             ),
         };
-        let ident = match capture.pat {
+        let ident = match *capture.pat {
             syn::Pat::Ident(ref i) => &i.ident,
             _ => panic!("must have bare arguments"),
         };
-        if let Some(&(_, ref tts)) = invoc.args.iter().find(|a| *ident == a.0) {
-            input_vals.push(quote! { #tts });
+        if let Some(&(_, ref tokens)) = invoc.args.iter().find(|a| *ident == a.0) {
+            input_vals.push(quote! { #tokens });
         } else {
             inputs.push(capture);
             input_vals.push(quote! { #ident });
@@ -91,7 +91,6 @@ pub fn assert_instr(
                 .segments
                 .first()
                 .expect("attr.path.segments.first() failed")
-                .value()
                 .ident
                 .to_string()
                 .starts_with("target")
@@ -131,7 +130,7 @@ pub fn assert_instr(
         }
     };
 
-    let tts: TokenStream = quote! {
+    let tokens: TokenStream = quote! {
         #[cfg_attr(target_arch = "wasm32", wasm_bindgen_test)]
         #[cfg_attr(not(target_arch = "wasm32"), test)]
         #[allow(non_snake_case)]
@@ -148,13 +147,13 @@ pub fn assert_instr(
         }
     };
     // why? necessary now to get tests to work?
-    let tts: TokenStream = tts.to_string().parse().expect("cannot parse tokenstream");
+    let tokens: TokenStream = tokens.to_string().parse().expect("cannot parse tokenstream");
 
-    let tts: TokenStream = quote! {
+    let tokens: TokenStream = quote! {
         #item
-        #tts
+        #tokens
     };
-    tts.into()
+    tokens.into()
 }
 
 struct Invoc {
@@ -163,7 +162,7 @@ struct Invoc {
 }
 
 impl syn::parse::Parse for Invoc {
-    fn parse(input: syn::parse::ParseStream) -> syn::parse::Result<Self> {
+    fn parse(input: syn::parse::ParseStream) -> syn::Result<Self> {
         use syn::{ext::IdentExt, Token};
 
         let mut instr = String::new();
diff --git a/library/stdarch/crates/simd-test-macro/Cargo.toml b/library/stdarch/crates/simd-test-macro/Cargo.toml
index 3373e3e2897..039fe8c7683 100644
--- a/library/stdarch/crates/simd-test-macro/Cargo.toml
+++ b/library/stdarch/crates/simd-test-macro/Cargo.toml
@@ -8,5 +8,5 @@ proc-macro = true
 test = false
 
 [dependencies]
-proc-macro2 = { version = "0.4", features = ["nightly"] }
-quote = "0.6"
+proc-macro2 = "1.0"
+quote = "1.0"
diff --git a/library/stdarch/crates/stdarch-verify/Cargo.toml b/library/stdarch/crates/stdarch-verify/Cargo.toml
index 1414b110070..6362e3d57f7 100644
--- a/library/stdarch/crates/stdarch-verify/Cargo.toml
+++ b/library/stdarch/crates/stdarch-verify/Cargo.toml
@@ -5,9 +5,9 @@ authors = ["Alex Crichton <alex@alexcrichton.com>"]
 edition = "2018"
 
 [dependencies]
-proc-macro2 = "0.4"
-quote = "0.6"
-syn = { version = "0.15", features = ["full"] }
+proc-macro2 = "1.0"
+quote = "1.0"
+syn = { version = "1.0", features = ["full"] }
 
 [lib]
 proc-macro = true
diff --git a/library/stdarch/crates/stdarch-verify/src/lib.rs b/library/stdarch/crates/stdarch-verify/src/lib.rs
index b7569fe5a2c..89cb7df7683 100644
--- a/library/stdarch/crates/stdarch-verify/src/lib.rs
+++ b/library/stdarch/crates/stdarch-verify/src/lib.rs
@@ -6,7 +6,6 @@ extern crate quote;
 extern crate syn;
 
 use proc_macro::TokenStream;
-use proc_macro2::Span;
 use std::{fs::File, io::Read, path::Path};
 use syn::ext::IdentExt;
 
@@ -57,7 +56,7 @@ fn functions(input: TokenStream, dirs: &[&str]) -> TokenStream {
 
     let mut tests = std::collections::HashSet::<String>::new();
     for f in &functions {
-        let id = format!("{}", f.0.ident);
+        let id = format!("{}", f.0.sig.ident);
         if id.starts_with("test_") {
             tests.insert(id);
         }
@@ -66,7 +65,7 @@ fn functions(input: TokenStream, dirs: &[&str]) -> TokenStream {
 
     functions.retain(|&(ref f, _)| {
         if let syn::Visibility::Public(_) = f.vis {
-            if f.unsafety.is_some() {
+            if f.sig.unsafety.is_some() {
                 return true;
             }
         }
@@ -79,17 +78,17 @@ fn functions(input: TokenStream, dirs: &[&str]) -> TokenStream {
     let functions = functions
         .iter()
         .map(|&(ref f, path)| {
-            let name = &f.ident;
+            let name = &f.sig.ident;
             // println!("{}", name);
             let mut arguments = Vec::new();
-            for input in f.decl.inputs.iter() {
+            for input in f.sig.inputs.iter() {
                 let ty = match *input {
-                    syn::FnArg::Captured(ref c) => &c.ty,
+                    syn::FnArg::Typed(ref c) => &c.ty,
                     _ => panic!("invalid argument on {}", name),
                 };
                 arguments.push(to_type(ty));
             }
-            let ret = match f.decl.output {
+            let ret = match f.sig.output {
                 syn::ReturnType::Default => quote! { None },
                 syn::ReturnType::Type(_, ref t) => {
                     let ty = to_type(t);
@@ -265,7 +264,6 @@ fn extract_path_ident(path: &syn::Path) -> syn::Ident {
         .segments
         .first()
         .expect("segment not found")
-        .value()
         .arguments
     {
         syn::PathArguments::None => {}
@@ -274,7 +272,6 @@ fn extract_path_ident(path: &syn::Path) -> syn::Ident {
     path.segments
         .first()
         .expect("segment not found")
-        .value()
         .ident
         .clone()
 }
@@ -318,7 +315,7 @@ fn find_instrs(attrs: &[syn::Attribute]) -> Vec<String> {
     // TODO: should probably just reuse `Invoc` from the `assert-instr-macro`
     // crate.
     impl syn::parse::Parse for AssertInstr {
-        fn parse(content: syn::parse::ParseStream) -> syn::parse::Result<Self> {
+        fn parse(content: syn::parse::ParseStream) -> syn::Result<Self> {
             let input;
             parenthesized!(input in content);
             let _ = input.parse::<syn::Meta>()?;
@@ -352,9 +349,9 @@ fn find_instrs(attrs: &[syn::Attribute]) -> Vec<String> {
 
     attrs
         .iter()
-        .filter(|a| a.path == syn::Ident::new("cfg_attr", Span::call_site()).into())
+        .filter(|a| a.path.is_ident("cfg_attr"))
         .filter_map(|a| {
-            syn::parse2::<AssertInstr>(a.tts.clone())
+            syn::parse2::<AssertInstr>(a.tokens.clone())
                 .ok()
                 .map(|a| a.instr)
         })
@@ -365,9 +362,9 @@ fn find_target_feature(attrs: &[syn::Attribute]) -> Option<syn::Lit> {
     attrs
         .iter()
         .flat_map(|a| {
-            if let Some(a) = a.interpret_meta() {
+            if let Ok(a) = a.parse_meta() {
                 if let syn::Meta::List(i) = a {
-                    if i.ident == "target_feature" {
+                    if i.path.is_ident("target_feature") {
                         return i.nested;
                     }
                 }
@@ -376,10 +373,10 @@ fn find_target_feature(attrs: &[syn::Attribute]) -> Option<syn::Lit> {
         })
         .filter_map(|nested| match nested {
             syn::NestedMeta::Meta(m) => Some(m),
-            syn::NestedMeta::Literal(_) => None,
+            syn::NestedMeta::Lit(_) => None,
         })
         .find_map(|m| match m {
-            syn::Meta::NameValue(ref i) if i.ident == "enable" => Some(i.clone().lit),
+            syn::Meta::NameValue(ref i) if i.path.is_ident("enable") => Some(i.clone().lit),
             _ => None,
         })
 }
@@ -389,7 +386,7 @@ fn find_required_const(attrs: &[syn::Attribute]) -> Vec<usize> {
         .iter()
         .flat_map(|a| {
             if a.path.segments[0].ident == "rustc_args_required_const" {
-                syn::parse::<RustcArgsRequiredConst>(a.tts.clone().into())
+                syn::parse::<RustcArgsRequiredConst>(a.tokens.clone().into())
                     .unwrap()
                     .args
             } else {
@@ -404,14 +401,13 @@ struct RustcArgsRequiredConst {
 }
 
 impl syn::parse::Parse for RustcArgsRequiredConst {
-    #[allow(clippy::cast_possible_truncation)]
-    fn parse(input: syn::parse::ParseStream) -> syn::parse::Result<Self> {
+    fn parse(input: syn::parse::ParseStream) -> syn::Result<Self> {
         let content;
         parenthesized!(content in input);
         let list =
             syn::punctuated::Punctuated::<syn::LitInt, Token![,]>::parse_terminated(&content)?;
         Ok(Self {
-            args: list.into_iter().map(|a| a.value() as usize).collect(),
+            args: list.into_iter().map(|a| a.base10_parse::<usize>()).collect::<syn::Result<_>>()?,
         })
     }
 }