about summary refs log tree commit diff
diff options
context:
space:
mode:
authorSeo Sanghyeon <sanxiyn@gmail.com>2016-11-29 00:46:09 +0900
committerSeo Sanghyeon <sanxiyn@gmail.com>2016-12-15 18:35:20 +0900
commit75cd69cf95a69a5ccd6f51c63df9ed1e9182bd8f (patch)
treed9da0cae9b3bc48abc04be1d484a8c3dff71376f
parenta75909824ac703f75b53ce9cf36e2922869fe37b (diff)
downloadrust-75cd69cf95a69a5ccd6f51c63df9ed1e9182bd8f.tar.gz
rust-75cd69cf95a69a5ccd6f51c63df9ed1e9182bd8f.zip
Warn unused type aliases
-rw-r--r--src/librustc/middle/dead.rs1
-rw-r--r--src/librustc_data_structures/graph/tests.rs2
-rw-r--r--src/test/compile-fail/issue-32119.rs1
-rw-r--r--src/test/compile-fail/lint-dead-code-type-alias.rs20
-rw-r--r--src/test/compile-fail/macro-tt-matchers.rs1
5 files changed, 23 insertions, 2 deletions
diff --git a/src/librustc/middle/dead.rs b/src/librustc/middle/dead.rs
index eb494685f49..1c5dd97b74b 100644
--- a/src/librustc/middle/dead.rs
+++ b/src/librustc/middle/dead.rs
@@ -413,6 +413,7 @@ impl<'a, 'tcx> DeadVisitor<'a, 'tcx> {
             hir::ItemStatic(..)
             | hir::ItemConst(..)
             | hir::ItemFn(..)
+            | hir::ItemTy(..)
             | hir::ItemEnum(..)
             | hir::ItemStruct(..)
             | hir::ItemUnion(..) => true,
diff --git a/src/librustc_data_structures/graph/tests.rs b/src/librustc_data_structures/graph/tests.rs
index a87410e6e1c..bdefc39a61a 100644
--- a/src/librustc_data_structures/graph/tests.rs
+++ b/src/librustc_data_structures/graph/tests.rs
@@ -11,8 +11,6 @@
 use graph::*;
 use std::fmt::Debug;
 
-type TestNode = Node<&'static str>;
-type TestEdge = Edge<&'static str>;
 type TestGraph = Graph<&'static str, &'static str>;
 
 fn create_graph() -> TestGraph {
diff --git a/src/test/compile-fail/issue-32119.rs b/src/test/compile-fail/issue-32119.rs
index 4743b779ef6..e630a01a593 100644
--- a/src/test/compile-fail/issue-32119.rs
+++ b/src/test/compile-fail/issue-32119.rs
@@ -9,6 +9,7 @@
 // except according to those terms.
 
 #![feature(rustc_attrs)]
+#![allow(dead_code)]
 
 pub type T = ();
 mod foo { pub use super::T; }
diff --git a/src/test/compile-fail/lint-dead-code-type-alias.rs b/src/test/compile-fail/lint-dead-code-type-alias.rs
new file mode 100644
index 00000000000..aaa01aa6bbe
--- /dev/null
+++ b/src/test/compile-fail/lint-dead-code-type-alias.rs
@@ -0,0 +1,20 @@
+// Copyright 2016 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.
+
+#![deny(dead_code)]
+
+type Used = u8;
+type Unused = u8; //~ ERROR type alias is never used
+
+fn id(x: Used) -> Used { x }
+
+fn main() {
+    id(0);
+}
diff --git a/src/test/compile-fail/macro-tt-matchers.rs b/src/test/compile-fail/macro-tt-matchers.rs
index 945490cefb9..969f1500717 100644
--- a/src/test/compile-fail/macro-tt-matchers.rs
+++ b/src/test/compile-fail/macro-tt-matchers.rs
@@ -9,6 +9,7 @@
 // except according to those terms.
 
 #![feature(rustc_attrs)]
+#![allow(dead_code)]
 
 macro_rules! foo {
     ($x:tt) => (type Alias = $x<i32>;)