]> git.lizzy.rs Git - rust.git/blob - tests/target/enum.rs
Merge pull request #478 from KeenS/travis
[rust.git] / tests / target / enum.rs
1 // rustfmt-wrap_comments: true
2 // Enums test
3
4 #[atrr]
5 pub enum Test {
6     A,
7     B(u32, A /* comment */, SomeType),
8     /// Doc comment
9     C,
10 }
11
12 pub enum Foo<'a, Y: Baz>
13     where X: Whatever
14 {
15     A,
16 }
17
18 enum EmtpyWithComment {
19     // Some comment
20 }
21
22 // C-style enum
23 enum Bar {
24     A = 1,
25     #[someAttr(test)]
26     B = 2, // comment
27     C,
28 }
29
30 enum LongVariants {
31     First(LOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONG, // comment
32           VARIANT),
33     // This is the second variant
34     Second,
35 }
36
37 enum StructLikeVariants {
38     Normal(u32, String),
39     StructLike {
40         x: i32, // Test comment
41         // Pre-comment
42         #[Attr50]
43         y: SomeType, // Aanother Comment
44     },
45     SL {
46         a: A,
47     },
48 }
49
50 enum X {
51     CreateWebGLPaintTask(Size2D<i32>,
52                          GLContextAttributes,
53                          IpcSender<Result<(IpcSender<CanvasMsg>, usize), String>>), /* This is
54                                                                                      * a post c
55                                                                                      * omment */
56 }
57
58 pub enum EnumWithAttributes {
59     // This is a pre comment
60     // AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
61     TupleVar(usize, usize, usize), /* AAAA AAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAA
62                                     * AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA */
63     // Pre Comment
64     #[rustfmt_skip]
65     SkippedItem(String,String,), // Post-comment
66     #[another_attr]
67     #[attr2]
68     ItemStruct {
69         x: usize,
70         y: usize,
71     }, /* Comment AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
72         * AAAAAAAAAAAAAAAAAAA */
73     // And another
74     ForcedPreflight, /* AAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
75                       * AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA */
76 }
77
78 pub enum SingleTuple {
79     // Pre Comment AAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
80     // AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
81     Match(usize, usize, String), /* Post-comment
82                                   * AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
83                                   * A */
84 }
85
86 pub enum SingleStruct {
87     Match {
88         name: String,
89         loc: usize,
90     }, // Post-comment
91 }
92
93 pub enum GenericEnum<I, T>
94     where I: Iterator<Item = T>
95 {
96     // Pre Comment
97     Left {
98         list: I,
99         root: T,
100     }, // Post-comment
101     Right {
102         list: I,
103         root: T,
104     }, // Post Comment
105 }
106
107
108 enum EmtpyWithComment {
109     // Some comment
110 }
111
112 enum TestFormatFails {
113     AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
114 }
115
116 fn nested_enum_test() {
117     if true {
118         enum TestEnum {
119             One(usize,
120                 usize,
121                 usize,
122                 usize,
123                 usize,
124                 usize,
125                 usize,
126                 usize,
127                 usize,
128                 usize,
129                 usize,
130                 usize,
131                 usize,
132                 usize,
133                 usize,
134                 usize), /* AAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAA
135                          * AAAAAAAAAAAAAAAAAAAAAA */
136             Two, /* AAAAAAAAAAAAAAAAAA  AAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
137                   * AAAAAAAAAAAAAAAAAA */
138         }
139         enum TestNestedFormatFail {
140             AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
141         }
142     }
143 }
144
145 pub struct EmtpyWithComment {
146     // FIXME: Implement this struct
147 }