about summary refs log tree commit diff
path: root/src/test
diff options
context:
space:
mode:
authorAlex Crichton <alex@alexcrichton.com>2018-07-17 10:23:03 -0700
committerAlex Crichton <alex@alexcrichton.com>2018-07-17 12:20:38 -0700
commit8adf08c4373f5bdd5bbef9aa4dfd0ca5c4a2eefc (patch)
tree8dbf258f67a4c79bd1af2c86d6f907079c676659 /src/test
parentdd0808dd24bbb351d19b805a9318eb9e105010b2 (diff)
downloadrust-8adf08c4373f5bdd5bbef9aa4dfd0ca5c4a2eefc.tar.gz
rust-8adf08c4373f5bdd5bbef9aa4dfd0ca5c4a2eefc.zip
rustc: Polish off `in_external_macro`
This commit polishes off this new function to compile on newer rustc as well as
update and add a suite of test cases to work with this new check for lints.
Diffstat (limited to 'src/test')
-rw-r--r--src/test/ui/lint/auxiliary/lints-in-foreign-macros.rs (renamed from src/test/ui/in-band-lifetimes/ellided-lifetimes-macro-checks.rs)17
-rw-r--r--src/test/ui/lint/lints-in-foreign-macros.rs28
-rw-r--r--src/test/ui/lint/lints-in-foreign-macros.stderr27
3 files changed, 68 insertions, 4 deletions
diff --git a/src/test/ui/in-band-lifetimes/ellided-lifetimes-macro-checks.rs b/src/test/ui/lint/auxiliary/lints-in-foreign-macros.rs
index 9e53cbfb3ad..cf8e9c18de3 100644
--- a/src/test/ui/in-band-lifetimes/ellided-lifetimes-macro-checks.rs
+++ b/src/test/ui/lint/auxiliary/lints-in-foreign-macros.rs
@@ -7,9 +7,18 @@
 // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
-#![feature(nll)]
-#![deny(elided_lifetime_in_path)]
 
-fn main() {
-    format!("foo {}", 22)
+#[macro_export]
+macro_rules! bar {
+    () => {use std::string::ToString;}
+}
+
+#[macro_export]
+macro_rules! baz {
+    ($i:item) => ($i)
+}
+
+#[macro_export]
+macro_rules! baz2 {
+    ($($i:tt)*) => ($($i)*)
 }
diff --git a/src/test/ui/lint/lints-in-foreign-macros.rs b/src/test/ui/lint/lints-in-foreign-macros.rs
new file mode 100644
index 00000000000..0f9003877cc
--- /dev/null
+++ b/src/test/ui/lint/lints-in-foreign-macros.rs
@@ -0,0 +1,28 @@
+// Copyright 2018 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// aux-build:lints-in-foreign-macros.rs
+// compile-pass
+
+#![warn(unused_imports)]
+
+#[macro_use]
+extern crate lints_in_foreign_macros;
+
+macro_rules! foo {
+    () => {use std::string::ToString;} //~ WARN: unused import
+}
+
+mod a { foo!(); }
+mod b { bar!(); }
+mod c { baz!(use std::string::ToString;); } //~ WARN: unused import
+mod d { baz2!(use std::string::ToString;); } //~ WARN: unused import
+
+fn main() {}
diff --git a/src/test/ui/lint/lints-in-foreign-macros.stderr b/src/test/ui/lint/lints-in-foreign-macros.stderr
new file mode 100644
index 00000000000..e9f6d3d3815
--- /dev/null
+++ b/src/test/ui/lint/lints-in-foreign-macros.stderr
@@ -0,0 +1,27 @@
+warning: unused import: `std::string::ToString`
+  --> $DIR/lints-in-foreign-macros.rs:20:16
+   |
+LL |     () => {use std::string::ToString;} //~ WARN: unused import
+   |                ^^^^^^^^^^^^^^^^^^^^^
+...
+LL | mod a { foo!(); }
+   |         ------- in this macro invocation
+   |
+note: lint level defined here
+  --> $DIR/lints-in-foreign-macros.rs:14:9
+   |
+LL | #![warn(unused_imports)]
+   |         ^^^^^^^^^^^^^^
+
+warning: unused import: `std::string::ToString`
+  --> $DIR/lints-in-foreign-macros.rs:25:18
+   |
+LL | mod c { baz!(use std::string::ToString;); } //~ WARN: unused import
+   |                  ^^^^^^^^^^^^^^^^^^^^^
+
+warning: unused import: `std::string::ToString`
+  --> $DIR/lints-in-foreign-macros.rs:26:19
+   |
+LL | mod d { baz2!(use std::string::ToString;); } //~ WARN: unused import
+   |                   ^^^^^^^^^^^^^^^^^^^^^
+