https://gcc.gnu.org/g:9e9be0f396e304e27598405ff26f02f0f0a47c96

commit r15-8162-g9e9be0f396e304e27598405ff26f02f0f0a47c96
Author: Pierre-Emmanuel Patry <pierre-emmanuel.pa...@embecosm.com>
Date:   Tue May 21 18:29:08 2024 +0200

    gccrs: Add regression tests for exclusive range pattern
    
    Add a few test to check the exclusive range pattern feature. This feature
    is experimental and shall not be enabled in stable rust.
    
    gcc/testsuite/ChangeLog:
    
            * rust/compile/exclusive_range_pattern.rs: New test.
            * rust/compile/exclusive_range_pattern_feature_gate.rs: New test.
    
    Signed-off-by: Pierre-Emmanuel Patry <pierre-emmanuel.pa...@embecosm.com>

Diff:
---
 gcc/testsuite/rust/compile/exclusive_range_pattern.rs   | 17 +++++++++++++++++
 .../compile/exclusive_range_pattern_feature_gate.rs     |  8 ++++++++
 2 files changed, 25 insertions(+)

diff --git a/gcc/testsuite/rust/compile/exclusive_range_pattern.rs 
b/gcc/testsuite/rust/compile/exclusive_range_pattern.rs
new file mode 100644
index 000000000000..4840abeab803
--- /dev/null
+++ b/gcc/testsuite/rust/compile/exclusive_range_pattern.rs
@@ -0,0 +1,17 @@
+// { dg-options "-fsyntax-only" }
+#![feature(exclusive_range_pattern)]
+
+const TEN: usize = 10;
+
+fn test(n: usize) {
+    match n {
+        0..TEN => (),
+        TEN..20 => (),
+        20..30 => (),
+        _ => (),
+    }
+}
+
+fn test2(t: usize) {
+    if let 0..10 = t {}
+}
diff --git a/gcc/testsuite/rust/compile/exclusive_range_pattern_feature_gate.rs 
b/gcc/testsuite/rust/compile/exclusive_range_pattern_feature_gate.rs
new file mode 100644
index 000000000000..4530214c0a2a
--- /dev/null
+++ b/gcc/testsuite/rust/compile/exclusive_range_pattern_feature_gate.rs
@@ -0,0 +1,8 @@
+// { dg-options "-frust-compile-until=lowering" }
+
+fn test(n: usize) {
+    match n {
+        0..10 => (), //{ dg-error "exclusive range pattern syntax is 
experimental." "" { target *-*-* }  }
+        _ => (),
+    }
+}

Reply via email to