}
hir::ItemImpl(_, _, _, ref opt_trait, _, ref impl_items) => {
for impl_item in impl_items {
- match impl_item.node {
- hir::ImplItemKind::Const(..) |
- hir::ImplItemKind::Method(..) => {
- if opt_trait.is_some() ||
- has_allow_dead_code_or_lang_attr(&impl_item.attrs) {
- self.worklist.push(impl_item.id);
- }
- }
- hir::ImplItemKind::Type(_) => {}
+ if opt_trait.is_some() ||
+ has_allow_dead_code_or_lang_attr(&impl_item.attrs) {
+ self.worklist.push(impl_item.id);
}
}
}
--- /dev/null
+// 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)]
+
+trait Foo {
+ type Bar;
+}
+
+struct Used;
+
+struct Ex;
+
+impl Foo for Ex {
+ type Bar = Used;
+}
+
+pub fn main() {
+ let _x = Ex;
+}