[gcc r14-7512] gccrs: patterns: Add execution testcases to verify proper pattern matching

Arthur Cohen cohenarthur@gcc.gnu.org
Tue Jan 16 17:40:20 GMT 2024


https://gcc.gnu.org/g:315e267e8be68acd710c8868ca2ba7433d70239b

commit r14-7512-g315e267e8be68acd710c8868ca2ba7433d70239b
Author: Arthur Cohen <arthur.cohen@embecosm.com>
Date:   Fri Apr 21 11:22:52 2023 +0200

    gccrs: patterns: Add execution testcases to verify proper pattern matching
    
    These testcases are similar to the ones added in #2072 but regarding
    execution. One more issue was opened from them - #2144
    
    gcc/testsuite/ChangeLog:
    
            * rust/execute/torture/issue-1852-1.rs: New test.
            * rust/execute/torture/issue-1852.rs: New test.

Diff:
---
 gcc/testsuite/rust/execute/torture/issue-1852-1.rs | 15 +++++++++++++++
 gcc/testsuite/rust/execute/torture/issue-1852.rs   | 15 +++++++++++++++
 2 files changed, 30 insertions(+)

diff --git a/gcc/testsuite/rust/execute/torture/issue-1852-1.rs b/gcc/testsuite/rust/execute/torture/issue-1852-1.rs
new file mode 100644
index 00000000000..1286c1b7bb2
--- /dev/null
+++ b/gcc/testsuite/rust/execute/torture/issue-1852-1.rs
@@ -0,0 +1,15 @@
+enum Foo {
+    A,
+    B(i32),
+}
+
+fn main() -> i32 {
+    let result = Foo::A;
+
+    let value = match result {
+        Foo::A => 15,
+        Foo::B(x) => x,
+    };
+
+    value - 15
+}
diff --git a/gcc/testsuite/rust/execute/torture/issue-1852.rs b/gcc/testsuite/rust/execute/torture/issue-1852.rs
new file mode 100644
index 00000000000..a8bf128891d
--- /dev/null
+++ b/gcc/testsuite/rust/execute/torture/issue-1852.rs
@@ -0,0 +1,15 @@
+enum Foo {
+    A,
+    B(i32),
+}
+
+fn main() -> i32 {
+    let result = Foo::B(123);
+
+    let value = match result {
+        Foo::A => 15,
+        Foo::B(x) => x,
+    };
+
+    value - 123
+}


More information about the Gcc-cvs mailing list