summaryrefslogtreecommitdiffstats
path: root/src/test/ui/nll/issue-57960.rs
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/test/ui/nll/issue-57960.rs38
1 files changed, 38 insertions, 0 deletions
diff --git a/src/test/ui/nll/issue-57960.rs b/src/test/ui/nll/issue-57960.rs
new file mode 100644
index 000000000..32e45184a
--- /dev/null
+++ b/src/test/ui/nll/issue-57960.rs
@@ -0,0 +1,38 @@
+// run-pass
+
+#![allow(dead_code)]
+
+trait Range {
+ const FIRST: u8;
+ const LAST: u8;
+}
+
+struct OneDigit;
+impl Range for OneDigit {
+ const FIRST: u8 = 0;
+ const LAST: u8 = 9;
+}
+
+struct TwoDigits;
+impl Range for TwoDigits {
+ const FIRST: u8 = 10;
+ const LAST: u8 = 99;
+}
+
+struct ThreeDigits;
+impl Range for ThreeDigits {
+ const FIRST: u8 = 100;
+ const LAST: u8 = 255;
+}
+
+fn digits(x: u8) -> u32 {
+ match x {
+ OneDigit::FIRST..=OneDigit::LAST => 1,
+ TwoDigits::FIRST..=TwoDigits::LAST => 2,
+ ThreeDigits::FIRST..=ThreeDigits::LAST => 3,
+ }
+}
+
+fn main() {
+ assert_eq!(digits(100), 3);
+}