From 698f8c2f01ea549d77d7dc3338a12e04c11057b9 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Wed, 17 Apr 2024 14:02:58 +0200 Subject: Adding upstream version 1.64.0+dfsg1. Signed-off-by: Daniel Baumann --- .../ui/range/range-inclusive-pattern-precedence.rs | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 src/test/ui/range/range-inclusive-pattern-precedence.rs (limited to 'src/test/ui/range/range-inclusive-pattern-precedence.rs') diff --git a/src/test/ui/range/range-inclusive-pattern-precedence.rs b/src/test/ui/range/range-inclusive-pattern-precedence.rs new file mode 100644 index 000000000..b294e436f --- /dev/null +++ b/src/test/ui/range/range-inclusive-pattern-precedence.rs @@ -0,0 +1,21 @@ +// In expression, `&a..=b` is treated as `(&a)..=(b)` and `box a..=b` is +// `(box a)..=(b)`. In a pattern, however, `&a..=b` means `&(a..=b)`. This may +// lead to confusion. + +// run-rustfix + +#![warn(ellipsis_inclusive_range_patterns)] + +pub fn main() { + match &12 { + &0...9 => {} + //~^ WARN `...` range patterns are deprecated + //~| WARN this is accepted in the current edition + //~| HELP use `..=` for an inclusive range + &10..=15 => {} + //~^ ERROR the range pattern here has ambiguous interpretation + //~| HELP add parentheses to clarify the precedence + &(16..=20) => {} + _ => {} + } +} -- cgit v1.2.3