about summary refs log tree commit diff
path: root/library/stdarch/crates/simd-test-macro/src/lib.rs
diff options
context:
space:
mode:
authorAmanieu d'Antras <amanieu@gmail.com>2020-05-28 02:41:59 +0100
committerAmanieu d'Antras <amanieu@gmail.com>2020-05-28 17:20:07 +0100
commit079ce26eb754d90393bd9eb78ded77548779705d (patch)
tree74546289ae9fc411bb43532d26d56f833c26b0d3 /library/stdarch/crates/simd-test-macro/src/lib.rs
parent15154a882d2c60d7aa21ceb6ec0c79c488ccf2e0 (diff)
downloadrust-079ce26eb754d90393bd9eb78ded77548779705d.tar.gz
rust-079ce26eb754d90393bd9eb78ded77548779705d.zip
Fix CI issues caused by updated nightly
Rust bug: https://github.com/rust-lang/rust/issues/72545
Diffstat (limited to 'library/stdarch/crates/simd-test-macro/src/lib.rs')
-rw-r--r--library/stdarch/crates/simd-test-macro/src/lib.rs15
1 files changed, 11 insertions, 4 deletions
diff --git a/library/stdarch/crates/simd-test-macro/src/lib.rs b/library/stdarch/crates/simd-test-macro/src/lib.rs
index 4d1170cc7e9..d4ebb787b9a 100644
--- a/library/stdarch/crates/simd-test-macro/src/lib.rs
+++ b/library/stdarch/crates/simd-test-macro/src/lib.rs
@@ -8,7 +8,7 @@ extern crate proc_macro2;
 #[macro_use]
 extern crate quote;
 
-use proc_macro2::{Ident, Literal, Span, TokenStream, TokenTree};
+use proc_macro2::{Delimiter, Ident, Literal, Span, TokenStream, TokenTree};
 use quote::ToTokens;
 use std::env;
 
@@ -146,8 +146,15 @@ fn find_name(item: TokenStream) -> Ident {
         }
     }
 
-    match tokens.next() {
-        Some(TokenTree::Ident(word)) => word,
-        _ => panic!("failed to find function name"),
+    fn get_ident(tt: TokenTree) -> Option<Ident> {
+        match tt {
+            TokenTree::Ident(i) => Some(i),
+            TokenTree::Group(g) if g.delimiter() == Delimiter::None => {
+                get_ident(g.stream().into_iter().next()?)
+            }
+            _ => None,
+        }
     }
+
+    tokens.next().and_then(get_ident).expect("failed to find function name")
 }