about summary refs log tree commit diff
path: root/src/tools/rustfmt/tests/target/pattern.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/tools/rustfmt/tests/target/pattern.rs')
-rw-r--r--src/tools/rustfmt/tests/target/pattern.rs98
1 files changed, 98 insertions, 0 deletions
diff --git a/src/tools/rustfmt/tests/target/pattern.rs b/src/tools/rustfmt/tests/target/pattern.rs
new file mode 100644
index 00000000000..576018ac623
--- /dev/null
+++ b/src/tools/rustfmt/tests/target/pattern.rs
@@ -0,0 +1,98 @@
+// rustfmt-normalize_comments: true
+#![feature(exclusive_range_pattern)]
+use core::u8::MAX;
+
+fn main() {
+    let z = match x {
+        "pat1" => 1,
+        (ref x, ref mut y /* comment */) => 2,
+    };
+
+    if let <T as Trait>::CONST = ident {
+        do_smth();
+    }
+
+    let Some(ref xyz /* comment! */) = opt;
+
+    if let None = opt2 {
+        panic!("oh noes");
+    }
+
+    let foo @ bar(f) = 42;
+    let a::foo(..) = 42;
+    let [] = 42;
+    let [a, b, c] = 42;
+    let [a, b, c] = 42;
+    let [a, b, c, d, e, f, g] = 42;
+    let foo {} = 42;
+    let foo { .. } = 42;
+    let foo { x, y: ref foo, .. } = 42;
+    let foo {
+        x,
+        yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy: ref foo,
+        ..
+    } = 42;
+    let foo {
+        x,
+        yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy: ref foo,
+    } = 42;
+    let foo {
+        x,
+        yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy: ref foo,
+        ..
+    };
+    let foo {
+        x,
+        yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy: ref foo,
+    };
+
+    match b"12" {
+        [0, 1..MAX] => {}
+        _ => {}
+    }
+}
+
+impl<'a, 'b> ResolveGeneratedContentFragmentMutator<'a, 'b> {
+    fn mutate_fragment(&mut self, fragment: &mut Fragment) {
+        match **info {
+            GeneratedContentInfo::ContentItem(ContentItem::Counter(
+                ref counter_name,
+                counter_style,
+            )) => {}
+        }
+    }
+}
+
+fn issue_1319() {
+    if let (Event { .. }, ..) = ev_state {}
+}
+
+fn issue_1874() {
+    if let Some(()) = x {
+        y
+    }
+}
+
+fn combine_patterns() {
+    let x = match y {
+        Some(Some(Foo {
+            z: Bar(..),
+            a: Bar(..),
+            b: Bar(..),
+        })) => z,
+        _ => return,
+    };
+}
+
+fn slice_patterns() {
+    match b"123" {
+        [0, ..] => {}
+        [0, foo] => {}
+        _ => {}
+    }
+}
+
+fn issue3728() {
+    let foo = |(c,)| c;
+    foo((1,));
+}