From: Pierre-Emmanuel Patry <[email protected]>
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 <[email protected]>
---
.../rust/compile/exclusive_range_pattern.rs | 17 +++++++++++++++++
.../exclusive_range_pattern_feature_gate.rs | 8 ++++++++
2 files changed, 25 insertions(+)
create mode 100644 gcc/testsuite/rust/compile/exclusive_range_pattern.rs
create mode 100644
gcc/testsuite/rust/compile/exclusive_range_pattern_feature_gate.rs
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 00000000000..4840abeab80
--- /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 00000000000..4530214c0a2
--- /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 *-*-* } }
+ _ => (),
+ }
+}
--
2.45.2