about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorRoxane <roxane.fruytier@hotmail.com>2021-08-12 21:29:04 -0400
committerRoxane <roxane.fruytier@hotmail.com>2021-08-12 21:33:06 -0400
commit7d0afaec5ad5b1c4e80d359bd070edba9f60f396 (patch)
treeb5820116c3a322a5227a5e2a24eb65b78a9c8ebc /src
parent0fa3190394475a84360b34e074e719d519bc40f1 (diff)
downloadrust-7d0afaec5ad5b1c4e80d359bd070edba9f60f396.tar.gz
rust-7d0afaec5ad5b1c4e80d359bd070edba9f60f396.zip
Add missing multi variant cases
Diffstat (limited to 'src')
-rw-r--r--src/test/ui/closures/2229_closure_analysis/issue-87988.rs19
-rw-r--r--src/test/ui/closures/2229_closure_analysis/match-multi-variant.rs44
2 files changed, 63 insertions, 0 deletions
diff --git a/src/test/ui/closures/2229_closure_analysis/issue-87988.rs b/src/test/ui/closures/2229_closure_analysis/issue-87988.rs
new file mode 100644
index 00000000000..27e7fabf11a
--- /dev/null
+++ b/src/test/ui/closures/2229_closure_analysis/issue-87988.rs
@@ -0,0 +1,19 @@
+// run-pass
+// edition:2021
+
+const LIBUSB_HOTPLUG_EVENT_DEVICE_ARRIVED: i32 = 0x01;
+const LIBUSB_HOTPLUG_EVENT_DEVICE_LEFT: i32 = 0x02;
+
+pub fn hotplug_callback(event: i32) {
+    let _ = || {
+        match event {
+            LIBUSB_HOTPLUG_EVENT_DEVICE_ARRIVED => (),
+            LIBUSB_HOTPLUG_EVENT_DEVICE_LEFT => (),
+            _ => (),
+        };
+    };
+}
+
+fn main() {
+    hotplug_callback(1);
+}
diff --git a/src/test/ui/closures/2229_closure_analysis/match-multi-variant.rs b/src/test/ui/closures/2229_closure_analysis/match-multi-variant.rs
new file mode 100644
index 00000000000..78ae5aff0ab
--- /dev/null
+++ b/src/test/ui/closures/2229_closure_analysis/match-multi-variant.rs
@@ -0,0 +1,44 @@
+// run-pass
+// edition:2021
+
+const PATTERN_REF: &str = "Hello World";
+const NUMBER: i32 = 30;
+const NUMBER_POINTER: *const i32 = &NUMBER;
+
+pub fn multi_variant_ref(event: &str) {
+    let _ = || {
+        match event {
+            PATTERN_REF => (),
+            _ => (),
+        };
+    };
+}
+
+pub fn multi_variant_str(event: String) {
+    let _ = || {
+        match event.as_str() {
+            "hello" => (),
+            _ => (),
+        };
+    };
+}
+
+pub fn multi_variant_raw_ptr(event: *const i32) {
+    let _ = || {
+        match event {
+            NUMBER_POINTER => (),
+            _ => (),
+        };
+    };
+}
+
+pub fn multi_variant_char(event: char) {
+    let _ = || {
+        match event {
+            'a' => (),
+            _ => (),
+        };
+    };
+}
+
+fn main() {}