rust/tests/ui/enum_variants.rs
2018-10-06 09:43:08 -07:00

132 lines
1.8 KiB
Rust

// Copyright 2014-2018 The Rust Project Developers. See the COPYRIGHT
// file at the top-level directory of this distribution.
//
// 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(tool_lints)]
#![feature(non_ascii_idents)]
#![warn(clippy::all, clippy::pub_enum_variant_names)]
enum FakeCallType {
CALL, CREATE
}
enum FakeCallType2 {
CALL, CREATELL
}
enum Foo {
cFoo,
cBar,
cBaz,
}
enum Fooo {
cFoo, // no error, threshold is 3 variants by default
cBar,
}
enum Food {
FoodGood,
FoodMiddle,
FoodBad,
}
enum Stuff {
StuffBad, // no error
}
enum BadCallType {
CallTypeCall,
CallTypeCreate,
CallTypeDestroy,
}
enum TwoCallType { // no error
CallTypeCall,
CallTypeCreate,
}
enum Consts {
ConstantInt,
ConstantCake,
ConstantLie,
}
enum Two { // no error here
ConstantInt,
ConstantInfer,
}
enum Something {
CCall,
CCreate,
CCryogenize,
}
enum Seal {
With,
Without,
}
enum Seall {
With,
WithOut,
Withbroken,
}
enum Sealll {
With,
WithOut,
}
enum Seallll {
WithOutCake,
WithOutTea,
WithOut,
}
enum NonCaps {
Prefix的,
PrefixTea,
PrefixCake,
}
pub enum PubSeall {
WithOutCake,
WithOutTea,
WithOut,
}
#[allow(clippy::pub_enum_variant_names)]
mod allowed {
pub enum PubAllowed {
SomeThis,
SomeThat,
SomeOtherWhat,
}
}
// should not lint
enum Pat {
Foo,
Bar,
Path,
}
// should not lint
enum N {
Pos,
Neg,
Float,
}
fn main() {}