| #![warn(clippy::enum_variant_names)] |
| #![allow(non_camel_case_types, clippy::upper_case_acronyms)] |
| |
| enum FakeCallType { |
| CALL, |
| CREATE, |
| } |
| |
| enum FakeCallType2 { |
| CALL, |
| CREATELL, |
| } |
| |
| enum Foo { |
| //~^ ERROR: all variants have the same prefix: `c` |
| cFoo, |
| //~^ ERROR: variant name ends with the enum's name |
| //~| NOTE: `-D clippy::enum-variant-names` implied by `-D warnings` |
| cBar, |
| cBaz, |
| } |
| |
| enum Fooo { |
| cFoo, // no error, threshold is 3 variants by default |
| cBar, |
| } |
| |
| enum Food { |
| //~^ ERROR: all variants have the same prefix: `Food` |
| FoodGood, |
| //~^ ERROR: variant name starts with the enum's name |
| FoodMiddle, |
| //~^ ERROR: variant name starts with the enum's name |
| FoodBad, |
| //~^ ERROR: variant name starts with the enum's name |
| } |
| |
| enum Stuff { |
| StuffBad, // no error |
| } |
| |
| enum BadCallType { |
| //~^ ERROR: all variants have the same prefix: `CallType` |
| CallTypeCall, |
| CallTypeCreate, |
| CallTypeDestroy, |
| } |
| |
| enum TwoCallType { |
| // no error |
| CallTypeCall, |
| CallTypeCreate, |
| } |
| |
| enum Consts { |
| //~^ ERROR: all variants have the same prefix: `Constant` |
| ConstantInt, |
| ConstantCake, |
| ConstantLie, |
| } |
| |
| enum Two { |
| // no error here |
| ConstantInt, |
| ConstantInfer, |
| } |
| |
| enum Something { |
| //~^ ERROR: all variants have the same prefix: `C` |
| CCall, |
| CCreate, |
| CCryogenize, |
| } |
| |
| enum Seal { |
| With, |
| Without, |
| } |
| |
| enum Seall { |
| With, |
| WithOut, |
| Withbroken, |
| } |
| |
| enum Sealll { |
| With, |
| WithOut, |
| } |
| |
| enum Seallll { |
| //~^ ERROR: all variants have the same prefix: `WithOut` |
| WithOutCake, |
| WithOutTea, |
| WithOut, |
| } |
| |
| enum NonCaps { |
| Prefix的, |
| PrefixTea, |
| PrefixCake, |
| } |
| |
| pub enum PubSeall { |
| WithOutCake, |
| WithOutTea, |
| WithOut, |
| } |
| |
| #[allow(clippy::enum_variant_names)] |
| pub mod allowed { |
| pub enum PubAllowed { |
| SomeThis, |
| SomeThat, |
| SomeOtherWhat, |
| } |
| } |
| |
| // should not lint |
| enum Pat { |
| Foo, |
| Bar, |
| Path, |
| } |
| |
| // should not lint |
| enum N { |
| Pos, |
| Neg, |
| Float, |
| } |
| |
| // should not lint |
| enum Peek { |
| Peek1, |
| Peek2, |
| Peek3, |
| } |
| |
| // should not lint |
| pub enum NetworkLayer { |
| Layer2, |
| Layer3, |
| } |
| |
| // should lint suggesting `IData`, not only `Data` (see #4639) |
| enum IDataRequest { |
| //~^ ERROR: all variants have the same postfix: `IData` |
| PutIData(String), |
| GetIData(String), |
| DeleteUnpubIData(String), |
| } |
| |
| enum HIDataRequest { |
| //~^ ERROR: all variants have the same postfix: `HIData` |
| PutHIData(String), |
| GetHIData(String), |
| DeleteUnpubHIData(String), |
| } |
| |
| enum North { |
| Normal, |
| NoLeft, |
| NoRight, |
| } |
| |
| // #8324 |
| enum Phase { |
| PreLookup, |
| Lookup, |
| PostLookup, |
| } |
| |
| mod issue9018 { |
| enum DoLint { |
| //~^ ERROR: all variants have the same prefix: `_Type` |
| _TypeCreate, |
| _TypeRead, |
| _TypeUpdate, |
| _TypeDestroy, |
| } |
| |
| enum DoLintToo { |
| //~^ ERROR: all variants have the same postfix: `Type` |
| _CreateType, |
| _UpdateType, |
| _DeleteType, |
| } |
| |
| enum DoNotLint { |
| _Foo, |
| _Bar, |
| _Baz, |
| } |
| } |
| |
| mod allow_attributes_on_variants { |
| enum Enum { |
| #[allow(clippy::enum_variant_names)] |
| EnumStartsWith, |
| #[allow(clippy::enum_variant_names)] |
| EndsWithEnum, |
| Foo, |
| } |
| } |
| |
| mod issue11494 { |
| // variant order should not affect lint |
| enum Data { |
| Valid, |
| Invalid, |
| DataDependent, |
| //~^ ERROR: variant name starts with the enum's name |
| } |
| |
| enum Datas { |
| DatasDependent, |
| //~^ ERROR: variant name starts with the enum's name |
| Valid, |
| Invalid, |
| } |
| } |
| |
| fn main() {} |