summaryrefslogtreecommitdiffstats
path: root/src/test/ui/associated-consts/associated-const-range-match-patterns.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/associated-consts/associated-const-range-match-patterns.rs')
-rw-r--r--src/test/ui/associated-consts/associated-const-range-match-patterns.rs40
1 files changed, 40 insertions, 0 deletions
diff --git a/src/test/ui/associated-consts/associated-const-range-match-patterns.rs b/src/test/ui/associated-consts/associated-const-range-match-patterns.rs
new file mode 100644
index 000000000..5276869a7
--- /dev/null
+++ b/src/test/ui/associated-consts/associated-const-range-match-patterns.rs
@@ -0,0 +1,40 @@
+// run-pass
+#![allow(dead_code, unreachable_patterns)]
+#![allow(ellipsis_inclusive_range_patterns)]
+
+struct Foo;
+
+trait HasNum {
+ const NUM: isize;
+}
+impl HasNum for Foo {
+ const NUM: isize = 1;
+}
+
+fn main() {
+ assert!(match 2 {
+ Foo::NUM ... 3 => true,
+ _ => false,
+ });
+ assert!(match 0 {
+ -1 ... <Foo as HasNum>::NUM => true,
+ _ => false,
+ });
+ assert!(match 1 {
+ <Foo as HasNum>::NUM ... <Foo>::NUM => true,
+ _ => false,
+ });
+
+ assert!(match 2 {
+ Foo::NUM ..= 3 => true,
+ _ => false,
+ });
+ assert!(match 0 {
+ -1 ..= <Foo as HasNum>::NUM => true,
+ _ => false,
+ });
+ assert!(match 1 {
+ <Foo as HasNum>::NUM ..= <Foo>::NUM => true,
+ _ => false,
+ });
+}