]> git.lizzy.rs Git - rust.git/blob - tests/source/enum.rs
Merge pull request #966 from MicahChalmer/skip-children-in-plain-write-mode
[rust.git] / tests / source / enum.rs
1 // rustfmt-wrap_comments: true
2 // Enums test
3
4 #[atrr]
5 pub enum Test {
6     A, B(u32, 
7          A /* comment */, 
8          SomeType),
9     /// Doc comment
10     C,
11 }
12
13 pub enum Foo<'a, Y: Baz> where X: Whatever
14 { A, }
15
16 enum EmtpyWithComment {
17     // Some comment
18 }
19
20 // C-style enum
21 enum Bar {
22     A = 1,
23     #[someAttr(test)]
24     B = 2, // comment
25     C,
26 }
27
28 enum LongVariants {
29 First(LOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONG, // comment
30 VARIANT),
31     // This is the second variant
32     Second
33 }
34
35 enum StructLikeVariants {
36     Normal(u32, String, ),
37     StructLike { x: i32, // Test comment
38         // Pre-comment
39         #[Attr50] y: SomeType, // Aanother Comment
40     }, SL { a: A }
41 }
42
43 enum X {
44     CreateWebGLPaintTask(Size2D<i32>, GLContextAttributes, IpcSender<Result<(IpcSender<CanvasMsg>, usize), String>>), // This is a post comment
45 }
46
47 pub enum EnumWithAttributes {
48     //This is a pre comment AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
49     TupleVar(usize, usize, usize), // AAAA AAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
50     // Pre Comment
51     #[rustfmt_skip]
52     SkippedItem(String,String,), // Post-comment
53     #[another_attr]
54     #[attr2]
55     ItemStruct {x: usize, y: usize}, // Comment AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
56     // And another
57     ForcedPreflight // AAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
58 }
59
60 pub enum SingleTuple {
61     // Pre Comment AAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
62     Match(usize, usize, String) // Post-comment AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
63 }
64
65 pub enum SingleStruct {
66     Match {name: String, loc: usize} // Post-comment
67 }
68
69 pub enum GenericEnum<I, T>
70 where I: Iterator<Item = T> {
71     // Pre Comment
72     Left {list: I, root: T}, // Post-comment
73     Right {list: I, root: T} // Post Comment
74 }
75
76
77 enum EmtpyWithComment {
78     // Some comment
79 }
80
81 enum TestFormatFails {
82     AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
83 }
84
85 fn nested_enum_test() {
86     if true {
87         enum TestEnum {
88             One(usize, usize, usize, usize, usize, usize, usize, usize, usize, usize, usize, usize, usize, usize, usize, usize,), // AAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAA
89             Two // AAAAAAAAAAAAAAAAAA  AAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAA
90         }
91         enum TestNestedFormatFail {
92             AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
93         }
94     }
95 }
96
97    pub  struct  EmtpyWithComment {
98     // FIXME: Implement this struct
99 }