]> git.proxmox.com Git - rustc.git/blobdiff - src/tools/rustfmt/tests/target/enum.rs
New upstream version 1.52.1+dfsg1
[rustc.git] / src / tools / rustfmt / tests / target / enum.rs
diff --git a/src/tools/rustfmt/tests/target/enum.rs b/src/tools/rustfmt/tests/target/enum.rs
new file mode 100644 (file)
index 0000000..9a25126
--- /dev/null
@@ -0,0 +1,289 @@
+// rustfmt-wrap_comments: true
+// Enums test
+
+#[atrr]
+pub enum Test {
+    A,
+    B(u32, A /* comment */, SomeType),
+    /// Doc comment
+    C,
+}
+
+pub enum Foo<'a, Y: Baz>
+where
+    X: Whatever,
+{
+    A,
+}
+
+enum EmtpyWithComment {
+    // Some comment
+}
+
+// C-style enum
+enum Bar {
+    A = 1,
+    #[someAttr(test)]
+    B = 2, // comment
+    C,
+}
+
+enum LongVariants {
+    First(
+        LOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONG, // comment
+        VARIANT,
+    ),
+    // This is the second variant
+    Second,
+}
+
+enum StructLikeVariants {
+    Normal(u32, String),
+    StructLike {
+        x: i32, // Test comment
+        // Pre-comment
+        #[Attr50]
+        y: SomeType, // Aanother Comment
+    },
+    SL {
+        a: A,
+    },
+}
+
+enum X {
+    CreateWebGLPaintTask(
+        Size2D<i32>,
+        GLContextAttributes,
+        IpcSender<Result<(IpcSender<CanvasMsg>, usize), String>>,
+    ), // This is a post comment
+}
+
+pub enum EnumWithAttributes {
+    //This is a pre comment
+    // AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+    TupleVar(usize, usize, usize), /* AAAA AAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAA
+                                    * AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA */
+    // Pre Comment
+    #[rustfmt::skip]
+    SkippedItem(String,String,), // Post-comment
+    #[another_attr]
+    #[attr2]
+    ItemStruct {
+        x: usize,
+        y: usize,
+    }, /* Comment AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA */
+    // And another
+    ForcedPreflight, /* AAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                      * AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA */
+}
+
+pub enum SingleTuple {
+    // Pre Comment AAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+    // AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+    Match(usize, usize, String), /* Post-comment AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA */
+}
+
+pub enum SingleStruct {
+    Match { name: String, loc: usize }, // Post-comment
+}
+
+pub enum GenericEnum<I, T>
+where
+    I: Iterator<Item = T>,
+{
+    // Pre Comment
+    Left { list: I, root: T },  // Post-comment
+    Right { list: I, root: T }, // Post Comment
+}
+
+enum EmtpyWithComment {
+    // Some comment
+}
+
+enum TestFormatFails {
+    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,
+}
+
+fn nested_enum_test() {
+    if true {
+        enum TestEnum {
+            One(
+                usize,
+                usize,
+                usize,
+                usize,
+                usize,
+                usize,
+                usize,
+                usize,
+                usize,
+                usize,
+                usize,
+                usize,
+                usize,
+                usize,
+                usize,
+                usize,
+            ), /* AAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAA
+                * AAAAAAAAAAAAAAAAAAAAAA */
+            Two, /* AAAAAAAAAAAAAAAAAA  AAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                  * AAAAAAAAAAAAAAAAAA */
+        }
+        enum TestNestedFormatFail {
+            AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,
+        }
+    }
+}
+
+pub struct EmtpyWithComment {
+    // FIXME: Implement this struct
+}
+
+// #1115
+pub enum Bencoding<'i> {
+    Str(&'i [u8]),
+    Int(i64),
+    List(Vec<Bencoding<'i>>),
+    /// A bencoded dict value. The first element the slice of bytes in the
+    /// source that the dict is composed of. The second is the dict, decoded
+    /// into an ordered map.
+    // TODO make Dict "structlike" AKA name the two values.
+    Dict(&'i [u8], BTreeMap<&'i [u8], Bencoding<'i>>),
+}
+
+// #1261
+pub enum CoreResourceMsg {
+    SetCookieForUrl(
+        ServoUrl,
+        #[serde(
+            deserialize_with = "::hyper_serde::deserialize",
+            serialize_with = "::hyper_serde::serialize"
+        )]
+        Cookie,
+        CookieSource,
+    ),
+}
+
+enum Loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong
+{}
+enum Looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong
+{}
+enum Loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong
+{}
+enum Loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong
+{
+    Foo,
+}
+
+// #1046
+pub enum Entry<'a, K: 'a, V: 'a> {
+    Vacant(#[stable(feature = "rust1", since = "1.0.0")] VacantEntry<'a, K, V>),
+    Occupied(#[stable(feature = "rust1", since = "1.0.0")] OccupiedEntry<'a, K, V>),
+}
+
+// #2081
+pub enum ForegroundColor {
+    CYAN =
+        (winapi::FOREGROUND_INTENSITY | winapi::FOREGROUND_GREEN | winapi::FOREGROUND_BLUE) as u16,
+}
+
+// #2098
+pub enum E<'a> {
+    V(<std::slice::Iter<'a, Xxxxxxxxxxxxxx> as Iterator>::Item),
+}
+
+// #1809
+enum State {
+    TryRecv {
+        pos: usize,
+        lap: u8,
+        closed_count: usize,
+    },
+    Subscribe {
+        pos: usize,
+    },
+    IsReady {
+        pos: usize,
+        ready: bool,
+    },
+    Unsubscribe {
+        pos: usize,
+        lap: u8,
+        id_woken: usize,
+    },
+    FinalTryRecv {
+        pos: usize,
+        id_woken: usize,
+    },
+    TimedOut,
+    Disconnected,
+}
+
+// #2190
+#[derive(Debug, Fail)]
+enum AnError {
+    #[fail(
+        display = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
+    )]
+    UnexpectedSingleToken { token: syn::Token },
+}
+
+// #2193
+enum WidthOf101 {
+    #[fail(display = ".....................................................")]
+    Io(::std::io::Error),
+    #[fail(display = ".....................................................")]
+    Ioo(::std::io::Error),
+    Xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx(::std::io::Error),
+    Xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx(
+        ::std::io::Error,
+    ),
+}
+
+// #2389
+pub enum QlError {
+    #[fail(display = "Parsing error: {}", 0)]
+    LexError(parser::lexer::LexError),
+    #[fail(display = "Parsing error: {:?}", 0)]
+    ParseError(parser::ParseError),
+    #[fail(display = "Validation error: {:?}", 0)]
+    ValidationError(Vec<validation::Error>),
+    #[fail(display = "Execution error: {}", 0)]
+    ExecutionError(String),
+    // (from, to)
+    #[fail(display = "Translation error: from {} to {}", 0, 1)]
+    TranslationError(String, String),
+    // (kind, input, expected)
+    #[fail(
+        display = "aaaaaaaaaaaaCould not find {}: Found: {}, expected: {:?}",
+        0, 1, 2
+    )]
+    ResolveError(&'static str, String, Option<String>),
+}
+
+// #2594
+enum Foo {}
+enum Bar {}
+
+// #3562
+enum PublishedFileVisibility {
+    Public =
+        sys::ERemoteStoragePublishedFileVisibility_k_ERemoteStoragePublishedFileVisibilityPublic,
+    FriendsOnly = sys::ERemoteStoragePublishedFileVisibility_k_ERemoteStoragePublishedFileVisibilityFriendsOnly,
+    Private =
+        sys::ERemoteStoragePublishedFileVisibility_k_ERemoteStoragePublishedFileVisibilityPrivate,
+}
+
+// #3771
+//#![feature(arbitrary_enum_discriminant)]
+#[repr(u32)]
+pub enum E {
+    A {
+        a: u32,
+    } = 0x100,
+    B {
+        field1: u32,
+        field2: u8,
+        field3: m::M,
+    } = 0x300, // comment
+}