summaryrefslogtreecommitdiffstats
path: root/tests/ui/unused-crate-deps
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/unused-crate-deps')
-rw-r--r--tests/ui/unused-crate-deps/auxiliary/bar.rs1
-rw-r--r--tests/ui/unused-crate-deps/auxiliary/foo.rs5
-rw-r--r--tests/ui/unused-crate-deps/deny-attr.rs9
-rw-r--r--tests/ui/unused-crate-deps/deny-attr.stderr14
-rw-r--r--tests/ui/unused-crate-deps/deny-cmdline-json-silent.rs8
-rw-r--r--tests/ui/unused-crate-deps/deny-cmdline-json-silent.stderr1
-rw-r--r--tests/ui/unused-crate-deps/deny-cmdline-json.rs7
-rw-r--r--tests/ui/unused-crate-deps/deny-cmdline-json.stderr1
-rw-r--r--tests/ui/unused-crate-deps/deny-cmdline.rs8
-rw-r--r--tests/ui/unused-crate-deps/deny-cmdline.stderr10
-rw-r--r--tests/ui/unused-crate-deps/ignore-pathless-extern.rs12
-rw-r--r--tests/ui/unused-crate-deps/libfib.rs21
-rw-r--r--tests/ui/unused-crate-deps/libfib.stderr10
-rw-r--r--tests/ui/unused-crate-deps/lint-group.rs9
-rw-r--r--tests/ui/unused-crate-deps/suppress.rs11
-rw-r--r--tests/ui/unused-crate-deps/test-use-ok.rs15
-rw-r--r--tests/ui/unused-crate-deps/test.mk7
-rw-r--r--tests/ui/unused-crate-deps/unused-aliases.rs13
-rw-r--r--tests/ui/unused-crate-deps/unused-aliases.stderr14
-rw-r--r--tests/ui/unused-crate-deps/use_extern_crate_2015.rs13
-rw-r--r--tests/ui/unused-crate-deps/warn-attr.rs10
-rw-r--r--tests/ui/unused-crate-deps/warn-attr.stderr14
-rw-r--r--tests/ui/unused-crate-deps/warn-cmdline-json.rs8
-rw-r--r--tests/ui/unused-crate-deps/warn-cmdline-json.stderr1
-rw-r--r--tests/ui/unused-crate-deps/warn-cmdline-static.rs10
-rw-r--r--tests/ui/unused-crate-deps/warn-cmdline-static.stderr10
-rw-r--r--tests/ui/unused-crate-deps/warn-cmdline.rs9
-rw-r--r--tests/ui/unused-crate-deps/warn-cmdline.stderr10
28 files changed, 261 insertions, 0 deletions
diff --git a/tests/ui/unused-crate-deps/auxiliary/bar.rs b/tests/ui/unused-crate-deps/auxiliary/bar.rs
new file mode 100644
index 000000000..1d3824e7a
--- /dev/null
+++ b/tests/ui/unused-crate-deps/auxiliary/bar.rs
@@ -0,0 +1 @@
+pub const BAR: &str = "bar";
diff --git a/tests/ui/unused-crate-deps/auxiliary/foo.rs b/tests/ui/unused-crate-deps/auxiliary/foo.rs
new file mode 100644
index 000000000..0ef03eb9e
--- /dev/null
+++ b/tests/ui/unused-crate-deps/auxiliary/foo.rs
@@ -0,0 +1,5 @@
+// edition:2018
+// aux-crate:bar=bar.rs
+
+pub const FOO: &str = "foo";
+pub use bar::BAR;
diff --git a/tests/ui/unused-crate-deps/deny-attr.rs b/tests/ui/unused-crate-deps/deny-attr.rs
new file mode 100644
index 000000000..e9ab18ff6
--- /dev/null
+++ b/tests/ui/unused-crate-deps/deny-attr.rs
@@ -0,0 +1,9 @@
+// Check for unused crate dep, no path
+
+// edition:2018
+// aux-crate:bar=bar.rs
+
+#![deny(unused_crate_dependencies)]
+//~^ ERROR external crate `bar` unused in
+
+fn main() {}
diff --git a/tests/ui/unused-crate-deps/deny-attr.stderr b/tests/ui/unused-crate-deps/deny-attr.stderr
new file mode 100644
index 000000000..93694f682
--- /dev/null
+++ b/tests/ui/unused-crate-deps/deny-attr.stderr
@@ -0,0 +1,14 @@
+error: external crate `bar` unused in `deny_attr`: remove the dependency or add `use bar as _;`
+ --> $DIR/deny-attr.rs:6:1
+ |
+LL | #![deny(unused_crate_dependencies)]
+ | ^
+ |
+note: the lint level is defined here
+ --> $DIR/deny-attr.rs:6:9
+ |
+LL | #![deny(unused_crate_dependencies)]
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^
+
+error: aborting due to previous error
+
diff --git a/tests/ui/unused-crate-deps/deny-cmdline-json-silent.rs b/tests/ui/unused-crate-deps/deny-cmdline-json-silent.rs
new file mode 100644
index 000000000..fd9a61d6c
--- /dev/null
+++ b/tests/ui/unused-crate-deps/deny-cmdline-json-silent.rs
@@ -0,0 +1,8 @@
+// Check for unused crate dep, json event, deny but we're not reporting that in exit status
+
+// edition:2018
+// check-pass
+// compile-flags: -Dunused-crate-dependencies -Zunstable-options --json unused-externs-silent --error-format=json
+// aux-crate:bar=bar.rs
+
+fn main() {}
diff --git a/tests/ui/unused-crate-deps/deny-cmdline-json-silent.stderr b/tests/ui/unused-crate-deps/deny-cmdline-json-silent.stderr
new file mode 100644
index 000000000..595619f3a
--- /dev/null
+++ b/tests/ui/unused-crate-deps/deny-cmdline-json-silent.stderr
@@ -0,0 +1 @@
+{"lint_level":"deny","unused_extern_names":["bar"]}
diff --git a/tests/ui/unused-crate-deps/deny-cmdline-json.rs b/tests/ui/unused-crate-deps/deny-cmdline-json.rs
new file mode 100644
index 000000000..2b369dee5
--- /dev/null
+++ b/tests/ui/unused-crate-deps/deny-cmdline-json.rs
@@ -0,0 +1,7 @@
+// Check for unused crate dep, json event, deny, expect compile failure
+
+// edition:2018
+// compile-flags: -Dunused-crate-dependencies -Zunstable-options --json unused-externs --error-format=json
+// aux-crate:bar=bar.rs
+
+fn main() {}
diff --git a/tests/ui/unused-crate-deps/deny-cmdline-json.stderr b/tests/ui/unused-crate-deps/deny-cmdline-json.stderr
new file mode 100644
index 000000000..595619f3a
--- /dev/null
+++ b/tests/ui/unused-crate-deps/deny-cmdline-json.stderr
@@ -0,0 +1 @@
+{"lint_level":"deny","unused_extern_names":["bar"]}
diff --git a/tests/ui/unused-crate-deps/deny-cmdline.rs b/tests/ui/unused-crate-deps/deny-cmdline.rs
new file mode 100644
index 000000000..69e28b331
--- /dev/null
+++ b/tests/ui/unused-crate-deps/deny-cmdline.rs
@@ -0,0 +1,8 @@
+// Check for unused crate dep, deny, expect failure
+
+// edition:2018
+// compile-flags: -Dunused-crate-dependencies
+// aux-crate:bar=bar.rs
+
+fn main() {}
+//~^ ERROR external crate `bar` unused in
diff --git a/tests/ui/unused-crate-deps/deny-cmdline.stderr b/tests/ui/unused-crate-deps/deny-cmdline.stderr
new file mode 100644
index 000000000..0951dc670
--- /dev/null
+++ b/tests/ui/unused-crate-deps/deny-cmdline.stderr
@@ -0,0 +1,10 @@
+error: external crate `bar` unused in `deny_cmdline`: remove the dependency or add `use bar as _;`
+ --> $DIR/deny-cmdline.rs:7:1
+ |
+LL | fn main() {}
+ | ^
+ |
+ = note: requested on the command line with `-D unused-crate-dependencies`
+
+error: aborting due to previous error
+
diff --git a/tests/ui/unused-crate-deps/ignore-pathless-extern.rs b/tests/ui/unused-crate-deps/ignore-pathless-extern.rs
new file mode 100644
index 000000000..8c273cb53
--- /dev/null
+++ b/tests/ui/unused-crate-deps/ignore-pathless-extern.rs
@@ -0,0 +1,12 @@
+// Pathless --extern references don't count
+
+// edition:2018
+// check-pass
+// aux-crate:bar=bar.rs
+// compile-flags:--extern proc_macro
+
+#![warn(unused_crate_dependencies)]
+
+use bar as _;
+
+fn main() {}
diff --git a/tests/ui/unused-crate-deps/libfib.rs b/tests/ui/unused-crate-deps/libfib.rs
new file mode 100644
index 000000000..c1545dca9
--- /dev/null
+++ b/tests/ui/unused-crate-deps/libfib.rs
@@ -0,0 +1,21 @@
+// Test warnings for a library crate
+
+// check-pass
+// aux-crate:bar=bar.rs
+// compile-flags:--crate-type lib -Wunused-crate-dependencies
+
+pub fn fib(n: u32) -> Vec<u32> {
+//~^ WARNING external crate `bar` unused in
+let mut prev = 0;
+ let mut cur = 1;
+ let mut v = vec![];
+
+ for _ in 0..n {
+ v.push(prev);
+ let n = prev + cur;
+ prev = cur;
+ cur = n;
+ }
+
+ v
+}
diff --git a/tests/ui/unused-crate-deps/libfib.stderr b/tests/ui/unused-crate-deps/libfib.stderr
new file mode 100644
index 000000000..15833126b
--- /dev/null
+++ b/tests/ui/unused-crate-deps/libfib.stderr
@@ -0,0 +1,10 @@
+warning: external crate `bar` unused in `libfib`: remove the dependency or add `use bar as _;`
+ --> $DIR/libfib.rs:7:1
+ |
+LL | pub fn fib(n: u32) -> Vec<u32> {
+ | ^
+ |
+ = note: requested on the command line with `-W unused-crate-dependencies`
+
+warning: 1 warning emitted
+
diff --git a/tests/ui/unused-crate-deps/lint-group.rs b/tests/ui/unused-crate-deps/lint-group.rs
new file mode 100644
index 000000000..e21ffb5de
--- /dev/null
+++ b/tests/ui/unused-crate-deps/lint-group.rs
@@ -0,0 +1,9 @@
+// `unused_crate_dependencies` is not currently in the `unused` group
+// due to false positives from Cargo.
+
+// check-pass
+// aux-crate:bar=bar.rs
+
+#![deny(unused)]
+
+fn main() {}
diff --git a/tests/ui/unused-crate-deps/suppress.rs b/tests/ui/unused-crate-deps/suppress.rs
new file mode 100644
index 000000000..8904d04bc
--- /dev/null
+++ b/tests/ui/unused-crate-deps/suppress.rs
@@ -0,0 +1,11 @@
+// Suppress by using crate
+
+// edition:2018
+// check-pass
+// aux-crate:bar=bar.rs
+
+#![warn(unused_crate_dependencies)]
+
+use bar as _;
+
+fn main() {}
diff --git a/tests/ui/unused-crate-deps/test-use-ok.rs b/tests/ui/unused-crate-deps/test-use-ok.rs
new file mode 100644
index 000000000..66d6440c9
--- /dev/null
+++ b/tests/ui/unused-crate-deps/test-use-ok.rs
@@ -0,0 +1,15 @@
+// Test-only use OK
+
+// edition:2018
+// check-pass
+// aux-crate:bar=bar.rs
+// compile-flags:--test
+
+#![deny(unused_crate_dependencies)]
+
+fn main() {}
+
+#[test]
+fn test_bar() {
+ assert_eq!(bar::BAR, "bar");
+}
diff --git a/tests/ui/unused-crate-deps/test.mk b/tests/ui/unused-crate-deps/test.mk
new file mode 100644
index 000000000..0b98b4e44
--- /dev/null
+++ b/tests/ui/unused-crate-deps/test.mk
@@ -0,0 +1,7 @@
+# Everyone uses make for building Rust
+
+foo: bar.rlib
+ $(RUSTC) --crate-type bin --extern bar=bar.rlib
+
+%.rlib: %.rs
+ $(RUSTC) --crate-type lib $<
diff --git a/tests/ui/unused-crate-deps/unused-aliases.rs b/tests/ui/unused-crate-deps/unused-aliases.rs
new file mode 100644
index 000000000..1b7cb9b97
--- /dev/null
+++ b/tests/ui/unused-crate-deps/unused-aliases.rs
@@ -0,0 +1,13 @@
+// Warn about unused aliased for the crate
+
+// edition:2018
+// check-pass
+// aux-crate:bar=bar.rs
+// aux-crate:barbar=bar.rs
+
+#![warn(unused_crate_dependencies)]
+//~^ WARNING external crate `barbar` unused in
+
+use bar as _;
+
+fn main() {}
diff --git a/tests/ui/unused-crate-deps/unused-aliases.stderr b/tests/ui/unused-crate-deps/unused-aliases.stderr
new file mode 100644
index 000000000..c8c6c4507
--- /dev/null
+++ b/tests/ui/unused-crate-deps/unused-aliases.stderr
@@ -0,0 +1,14 @@
+warning: external crate `barbar` unused in `unused_aliases`: remove the dependency or add `use barbar as _;`
+ --> $DIR/unused-aliases.rs:8:1
+ |
+LL | #![warn(unused_crate_dependencies)]
+ | ^
+ |
+note: the lint level is defined here
+ --> $DIR/unused-aliases.rs:8:9
+ |
+LL | #![warn(unused_crate_dependencies)]
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^
+
+warning: 1 warning emitted
+
diff --git a/tests/ui/unused-crate-deps/use_extern_crate_2015.rs b/tests/ui/unused-crate-deps/use_extern_crate_2015.rs
new file mode 100644
index 000000000..f15c87fa0
--- /dev/null
+++ b/tests/ui/unused-crate-deps/use_extern_crate_2015.rs
@@ -0,0 +1,13 @@
+// Suppress by using crate
+
+// edition:2015
+// check-pass
+// aux-crate:bar=bar.rs
+
+#![warn(unused_crate_dependencies)]
+
+extern crate bar;
+
+fn main() {
+ println!("bar {}", bar::BAR);
+}
diff --git a/tests/ui/unused-crate-deps/warn-attr.rs b/tests/ui/unused-crate-deps/warn-attr.rs
new file mode 100644
index 000000000..1acb307ab
--- /dev/null
+++ b/tests/ui/unused-crate-deps/warn-attr.rs
@@ -0,0 +1,10 @@
+// Check for unused crate dep, no path
+
+// edition:2018
+// check-pass
+// aux-crate:bar=bar.rs
+
+#![warn(unused_crate_dependencies)]
+//~^ WARNING external crate `bar` unused in
+
+fn main() {}
diff --git a/tests/ui/unused-crate-deps/warn-attr.stderr b/tests/ui/unused-crate-deps/warn-attr.stderr
new file mode 100644
index 000000000..0d3831570
--- /dev/null
+++ b/tests/ui/unused-crate-deps/warn-attr.stderr
@@ -0,0 +1,14 @@
+warning: external crate `bar` unused in `warn_attr`: remove the dependency or add `use bar as _;`
+ --> $DIR/warn-attr.rs:7:1
+ |
+LL | #![warn(unused_crate_dependencies)]
+ | ^
+ |
+note: the lint level is defined here
+ --> $DIR/warn-attr.rs:7:9
+ |
+LL | #![warn(unused_crate_dependencies)]
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^
+
+warning: 1 warning emitted
+
diff --git a/tests/ui/unused-crate-deps/warn-cmdline-json.rs b/tests/ui/unused-crate-deps/warn-cmdline-json.rs
new file mode 100644
index 000000000..4826c0062
--- /dev/null
+++ b/tests/ui/unused-crate-deps/warn-cmdline-json.rs
@@ -0,0 +1,8 @@
+// Check for unused crate dep, warn, json event, expect pass
+
+// edition:2018
+// check-pass
+// compile-flags: -Wunused-crate-dependencies -Zunstable-options --json unused-externs --error-format=json
+// aux-crate:bar=bar.rs
+
+fn main() {}
diff --git a/tests/ui/unused-crate-deps/warn-cmdline-json.stderr b/tests/ui/unused-crate-deps/warn-cmdline-json.stderr
new file mode 100644
index 000000000..98dbd7639
--- /dev/null
+++ b/tests/ui/unused-crate-deps/warn-cmdline-json.stderr
@@ -0,0 +1 @@
+{"lint_level":"warn","unused_extern_names":["bar"]}
diff --git a/tests/ui/unused-crate-deps/warn-cmdline-static.rs b/tests/ui/unused-crate-deps/warn-cmdline-static.rs
new file mode 100644
index 000000000..c609529a6
--- /dev/null
+++ b/tests/ui/unused-crate-deps/warn-cmdline-static.rs
@@ -0,0 +1,10 @@
+// Check for unused crate dep, no path
+
+// edition:2018
+// check-pass
+// compile-flags: -Wunused-crate-dependencies
+// aux-crate:bar=bar.rs
+// no-prefer-dynamic
+
+fn main() {}
+//~^ WARNING external crate `bar` unused in
diff --git a/tests/ui/unused-crate-deps/warn-cmdline-static.stderr b/tests/ui/unused-crate-deps/warn-cmdline-static.stderr
new file mode 100644
index 000000000..65956461d
--- /dev/null
+++ b/tests/ui/unused-crate-deps/warn-cmdline-static.stderr
@@ -0,0 +1,10 @@
+warning: external crate `bar` unused in `warn_cmdline_static`: remove the dependency or add `use bar as _;`
+ --> $DIR/warn-cmdline-static.rs:9:1
+ |
+LL | fn main() {}
+ | ^
+ |
+ = note: requested on the command line with `-W unused-crate-dependencies`
+
+warning: 1 warning emitted
+
diff --git a/tests/ui/unused-crate-deps/warn-cmdline.rs b/tests/ui/unused-crate-deps/warn-cmdline.rs
new file mode 100644
index 000000000..3bae61c3e
--- /dev/null
+++ b/tests/ui/unused-crate-deps/warn-cmdline.rs
@@ -0,0 +1,9 @@
+// Check for unused crate dep, no path
+
+// edition:2018
+// check-pass
+// compile-flags: -Wunused-crate-dependencies
+// aux-crate:bar=bar.rs
+
+fn main() {}
+//~^ WARNING external crate `bar` unused in
diff --git a/tests/ui/unused-crate-deps/warn-cmdline.stderr b/tests/ui/unused-crate-deps/warn-cmdline.stderr
new file mode 100644
index 000000000..ea675ba9a
--- /dev/null
+++ b/tests/ui/unused-crate-deps/warn-cmdline.stderr
@@ -0,0 +1,10 @@
+warning: external crate `bar` unused in `warn_cmdline`: remove the dependency or add `use bar as _;`
+ --> $DIR/warn-cmdline.rs:8:1
+ |
+LL | fn main() {}
+ | ^
+ |
+ = note: requested on the command line with `-W unused-crate-dependencies`
+
+warning: 1 warning emitted
+