about summary refs log tree commit diff
path: root/src/libsyntax/test.rs
diff options
context:
space:
mode:
authorVadim Petrochenkov <vadim.petrochenkov@gmail.com>2019-02-28 09:17:24 +0300
committerVadim Petrochenkov <vadim.petrochenkov@gmail.com>2019-03-16 23:13:15 +0300
commit8371caf5ee13e775d2b2dc64c9b08e37dab49eda (patch)
tree630bb9b91f6f46469c6ec3eb51b21733c8e02e46 /src/libsyntax/test.rs
parente2009ea5ffdacd767ea85d463fbe40d0e8b06951 (diff)
downloadrust-8371caf5ee13e775d2b2dc64c9b08e37dab49eda.tar.gz
rust-8371caf5ee13e775d2b2dc64c9b08e37dab49eda.zip
syntax: Do not accidentally treat multi-segment meta-items as single-segment
Diffstat (limited to 'src/libsyntax/test.rs')
-rw-r--r--src/libsyntax/test.rs5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/libsyntax/test.rs b/src/libsyntax/test.rs
index 56290fa771b..3afd55899c8 100644
--- a/src/libsyntax/test.rs
+++ b/src/libsyntax/test.rs
@@ -438,6 +438,9 @@ fn get_test_runner(sd: &errors::Handler, krate: &ast::Crate) -> Option<ast::Path
             sd.span_fatal(test_attr.span(),
                 "#![test_runner(..)] accepts exactly 1 argument").raise()
         }
-        meta_list[0].word().as_ref().unwrap().ident.clone()
+        match meta_list[0].meta_item() {
+            Some(meta_item) if meta_item.is_word() => meta_item.ident.clone(),
+            _ => sd.span_fatal(test_attr.span, "`test_runner` argument must be a path").raise()
+        }
     })
 }