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 *-*-* } } + _ => (), + } +}