]> git.lizzy.rs Git - rust.git/blob - tests/target/enum.rs
Merge pull request #2357 from topecongiro/issue-2342
[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]
46         y: SomeType, // Aanother Comment
47     },
48     SL {
49         a: A,
50     },
51 }
52
53 enum X {
54     CreateWebGLPaintTask(
55         Size2D<i32>,
56         GLContextAttributes,
57         IpcSender<Result<(IpcSender<CanvasMsg>, usize), String>>,
58     ), // This is a post comment
59 }
60
61 pub enum EnumWithAttributes {
62     //This is a pre comment
63     // AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
64     TupleVar(usize, usize, usize), /* AAAA AAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAA
65                                     * AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA */
66     // Pre Comment
67     #[rustfmt_skip]
68     SkippedItem(String,String,), // Post-comment
69     #[another_attr]
70     #[attr2]
71     ItemStruct {
72         x: usize,
73         y: usize,
74     }, /* Comment AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA */
75     // And another
76     ForcedPreflight, /* AAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
77                       * AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA */
78 }
79
80 pub enum SingleTuple {
81     // Pre Comment AAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
82     // AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
83     Match(usize, usize, String), /* Post-comment AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA */
84 }
85
86 pub enum SingleStruct {
87     Match { name: String, loc: usize }, // Post-comment
88 }
89
90 pub enum GenericEnum<I, T>
91 where
92     I: Iterator<Item = T>,
93 {
94     // Pre Comment
95     Left { list: I, root: T },  // Post-comment
96     Right { list: I, root: T }, // Post Comment
97 }
98
99 enum EmtpyWithComment {
100     // Some comment
101 }
102
103 enum TestFormatFails {
104     AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,
105 }
106
107 fn nested_enum_test() {
108     if true {
109         enum TestEnum {
110             One(
111                 usize,
112                 usize,
113                 usize,
114                 usize,
115                 usize,
116                 usize,
117                 usize,
118                 usize,
119                 usize,
120                 usize,
121                 usize,
122                 usize,
123                 usize,
124                 usize,
125                 usize,
126                 usize,
127             ), /* AAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAA
128                 * AAAAAAAAAAAAAAAAAAAAAA */
129             Two, /* AAAAAAAAAAAAAAAAAA  AAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
130                   * AAAAAAAAAAAAAAAAAA */
131         }
132         enum TestNestedFormatFail {
133             AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,
134         }
135     }
136 }
137
138 pub struct EmtpyWithComment {
139     // FIXME: Implement this struct
140 }
141
142 // #1115
143 pub enum Bencoding<'i> {
144     Str(&'i [u8]),
145     Int(i64),
146     List(Vec<Bencoding<'i>>),
147     /// A bencoded dict value. The first element the slice of bytes in the source that the dict is
148     /// composed of. The second is the dict, decoded into an ordered map.
149     // TODO make Dict "structlike" AKA name the two values.
150     Dict(&'i [u8], BTreeMap<&'i [u8], Bencoding<'i>>),
151 }
152
153 // #1261
154 pub enum CoreResourceMsg {
155     SetCookieForUrl(
156         ServoUrl,
157         #[serde(deserialize_with = "::hyper_serde::deserialize",
158                 serialize_with = "::hyper_serde::serialize")]
159         Cookie,
160         CookieSource,
161     ),
162 }
163
164 enum Loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong
165 {}
166 enum Looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong
167 {}
168 enum Loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong
169 {}
170 enum Loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong
171 {
172     Foo,
173 }
174
175 // #1046
176 pub enum Entry<'a, K: 'a, V: 'a> {
177     Vacant(#[stable(feature = "rust1", since = "1.0.0")] VacantEntry<'a, K, V>),
178     Occupied(#[stable(feature = "rust1", since = "1.0.0")] OccupiedEntry<'a, K, V>),
179 }
180
181 // #2081
182 pub enum ForegroundColor {
183     CYAN =
184         (winapi::FOREGROUND_INTENSITY | winapi::FOREGROUND_GREEN | winapi::FOREGROUND_BLUE) as u16,
185 }
186
187 // #2098
188 pub enum E<'a> {
189     V(<std::slice::Iter<'a, Xxxxxxxxxxxxxx> as Iterator>::Item),
190 }
191
192 // #1809
193 enum State {
194     TryRecv {
195         pos: usize,
196         lap: u8,
197         closed_count: usize,
198     },
199     Subscribe {
200         pos: usize,
201     },
202     IsReady {
203         pos: usize,
204         ready: bool,
205     },
206     Unsubscribe {
207         pos: usize,
208         lap: u8,
209         id_woken: usize,
210     },
211     FinalTryRecv {
212         pos: usize,
213         id_woken: usize,
214     },
215     TimedOut,
216     Disconnected,
217 }
218
219 // #2190
220 #[derive(Debug, Fail)]
221 enum AnError {
222     #[fail(display = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")]
223     UnexpectedSingleToken { token: syn::Token },
224 }
225
226 // #2193
227 enum WidthOf101 {
228     #[fail(display = ".....................................................")] Io(::std::io::Error),
229     #[fail(display = ".....................................................")]
230     Ioo(::std::io::Error),
231     Xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx(::std::io::Error),
232     Xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx(
233         ::std::io::Error,
234     ),
235 }