]> git.lizzy.rs Git - rust.git/blob - tests/target/enum.rs
Merge pull request #2084 from topecongiro/issue-2081
[rust.git] / tests / target / enum.rs
1 // rustfmt-wrap_comments: true
2 // rustfmt-error_on_line_overflow: false
3 // Enums test
4
5 #[atrr]
6 pub enum Test {
7     A,
8     B(u32, A /* comment */, SomeType),
9     /// Doc comment
10     C,
11 }
12
13 pub enum Foo<'a, Y: Baz>
14 where
15     X: Whatever,
16 {
17     A,
18 }
19
20 enum EmtpyWithComment {
21     // Some comment
22 }
23
24 // C-style enum
25 enum Bar {
26     A = 1,
27     #[someAttr(test)] B = 2, // comment
28     C,
29 }
30
31 enum LongVariants {
32     First(
33         LOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONG, // comment
34         VARIANT,
35     ),
36     // This is the second variant
37     Second,
38 }
39
40 enum StructLikeVariants {
41     Normal(u32, String),
42     StructLike {
43         x: i32, // Test comment
44         // Pre-comment
45         #[Attr50] y: SomeType, // Aanother Comment
46     },
47     SL { a: A },
48 }
49
50 enum X {
51     CreateWebGLPaintTask(
52         Size2D<i32>,
53         GLContextAttributes,
54         IpcSender<Result<(IpcSender<CanvasMsg>, usize), String>>,
55     ), // This is a post comment
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 { x: usize, y: usize }, /* Comment AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA */
69     // And another
70     ForcedPreflight, /* AAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
71                       * AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA */
72 }
73
74 pub enum SingleTuple {
75     // Pre Comment AAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
76     // AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
77     Match(usize, usize, String), /* Post-comment AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA */
78 }
79
80 pub enum SingleStruct {
81     Match { name: String, loc: usize }, // Post-comment
82 }
83
84 pub enum GenericEnum<I, T>
85 where
86     I: Iterator<Item = T>,
87 {
88     // Pre Comment
89     Left { list: I, root: T },  // Post-comment
90     Right { list: I, root: T }, // Post Comment
91 }
92
93
94 enum EmtpyWithComment {
95     // Some comment
96 }
97
98 enum TestFormatFails {
99     AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,
100 }
101
102 fn nested_enum_test() {
103     if true {
104         enum TestEnum {
105             One(
106                 usize,
107                 usize,
108                 usize,
109                 usize,
110                 usize,
111                 usize,
112                 usize,
113                 usize,
114                 usize,
115                 usize,
116                 usize,
117                 usize,
118                 usize,
119                 usize,
120                 usize,
121                 usize,
122             ), /* AAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAA
123                 * AAAAAAAAAAAAAAAAAAAAAA */
124             Two, /* AAAAAAAAAAAAAAAAAA  AAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
125                   * AAAAAAAAAAAAAAAAAA */
126         }
127         enum TestNestedFormatFail {
128             AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,
129         }
130     }
131 }
132
133 pub struct EmtpyWithComment {
134     // FIXME: Implement this struct
135 }
136
137 // #1115
138 pub enum Bencoding<'i> {
139     Str(&'i [u8]),
140     Int(i64),
141     List(Vec<Bencoding<'i>>),
142     /// A bencoded dict value. The first element the slice of bytes in the
143     /// source that the dict is
144     /// composed of. The second is the dict, decoded into an ordered map.
145     // TODO make Dict "structlike" AKA name the two values.
146     Dict(&'i [u8], BTreeMap<&'i [u8], Bencoding<'i>>),
147 }
148
149 // #1261
150 pub enum CoreResourceMsg {
151     SetCookieForUrl(
152         ServoUrl,
153         #[serde(deserialize_with = "::hyper_serde::deserialize",
154                 serialize_with = "::hyper_serde::serialize")]
155         Cookie,
156         CookieSource,
157     ),
158 }
159
160 enum Loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong
161 {}
162 enum Looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong
163 {}
164 enum Loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong
165 {}
166 enum Loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong
167 {
168     Foo,
169 }
170
171 // #1046
172 pub enum Entry<'a, K: 'a, V: 'a> {
173     Vacant(#[stable(feature = "rust1", since = "1.0.0")] VacantEntry<'a, K, V>),
174     Occupied(#[stable(feature = "rust1", since = "1.0.0")] OccupiedEntry<'a, K, V>),
175 }
176
177 // #2081
178 pub enum ForegroundColor {
179     CYAN =
180         (winapi::FOREGROUND_INTENSITY | winapi::FOREGROUND_GREEN | winapi::FOREGROUND_BLUE) as u16,
181 }