diff options
| author | Jakub Wieczorek <jakub@jakub.cc> | 2014-09-20 13:26:10 +0200 |
|---|---|---|
| committer | Jakub Wieczorek <jakub@jakub.cc> | 2014-09-24 21:03:55 +0200 |
| commit | 2ec795b4f030ec19cf2ddc48fe5e2e158d5c0e42 (patch) | |
| tree | c5ca465bb749f2080b34c5223bf8e8500b23ec40 /src/test | |
| parent | 9e3bf02c381c9d4dd6b5ace6815febab3b89fecf (diff) | |
| download | rust-2ec795b4f030ec19cf2ddc48fe5e2e158d5c0e42.tar.gz rust-2ec795b4f030ec19cf2ddc48fe5e2e158d5c0e42.zip | |
Add detection of unused enum variants
Diffstat (limited to 'src/test')
| -rw-r--r-- | src/test/compile-fail/lint-dead-code-1.rs | 6 | ||||
| -rw-r--r-- | src/test/compile-fail/lint-dead-code-4.rs | 4 | ||||
| -rw-r--r-- | src/test/compile-fail/lint-dead-code-5.rs | 41 |
3 files changed, 48 insertions, 3 deletions
diff --git a/src/test/compile-fail/lint-dead-code-1.rs b/src/test/compile-fail/lint-dead-code-1.rs index a2d2c02dc43..8c40ea2afe2 100644 --- a/src/test/compile-fail/lint-dead-code-1.rs +++ b/src/test/compile-fail/lint-dead-code-1.rs @@ -63,8 +63,12 @@ pub struct PubStruct2 { pub enum pub_enum { foo1, bar1 } pub enum pub_enum2 { a(*const StructUsedInEnum) } pub enum pub_enum3 { Foo = STATIC_USED_IN_ENUM_DISCRIMINANT } + enum priv_enum { foo2, bar2 } //~ ERROR: code is never used -enum used_enum { foo3, bar3 } +enum used_enum { + foo3, + bar3 //~ ERROR code is never used +} fn f<T>() {} diff --git a/src/test/compile-fail/lint-dead-code-4.rs b/src/test/compile-fail/lint-dead-code-4.rs index 718af1841b6..826faad32c9 100644 --- a/src/test/compile-fail/lint-dead-code-4.rs +++ b/src/test/compile-fail/lint-dead-code-4.rs @@ -28,8 +28,8 @@ fn field_read(f: Foo) -> uint { } enum XYZ { - X, - Y { + X, //~ ERROR variant is never used + Y { //~ ERROR variant is never used a: String, b: int //~ ERROR: code is never used }, diff --git a/src/test/compile-fail/lint-dead-code-5.rs b/src/test/compile-fail/lint-dead-code-5.rs new file mode 100644 index 00000000000..c26ae1a7023 --- /dev/null +++ b/src/test/compile-fail/lint-dead-code-5.rs @@ -0,0 +1,41 @@ +// Copyright 2014 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. + +#![feature(struct_variant)] +#![allow(unused_variable)] +#![deny(dead_code)] + +enum Enum1 { + Variant1(int), + Variant2 //~ ERROR: code is never used +} + +enum Enum2 { + Variant3(bool), + #[allow(dead_code)] + Variant4(int), + Variant5 { _x: int }, //~ ERROR: variant is never used: `Variant5` + Variant6(int), //~ ERROR: variant is never used: `Variant6` + _Variant7, +} + +enum Enum3 { //~ ERROR: enum is never used + Variant8, + Variant9 +} + +fn main() { + let v = Variant1(1); + match v { + Variant1(_) => (), + Variant2 => () + } + let x = Variant3(true); +} |
