Skip to content

Commit 217a4df

Browse files
committed
Test or-patterns inside deref patterns
1 parent 436c612 commit 217a4df

File tree

1 file changed

+13
-1
lines changed

1 file changed

+13
-1
lines changed

tests/ui/pattern/deref-patterns/bindings.rs

+13-1
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,17 @@ fn ref_mut(val: u32) -> u32 {
3737
*x
3838
}
3939

40+
#[rustfmt::skip]
41+
fn or_and_guard(tuple: (u32, u32)) -> u32 {
42+
let mut sum = 0;
43+
let b = Box::new(tuple);
44+
match b {
45+
deref!((x, _) | (_, x)) if { sum += x; false } => {},
46+
_ => {},
47+
}
48+
sum
49+
}
50+
4051
fn main() {
4152
assert_eq!(simple_vec(vec![1]), 1);
4253
assert_eq!(simple_vec(vec![1, 2]), 202);
@@ -48,5 +59,6 @@ fn main() {
4859
assert_eq!(nested_vec(vec![vec![1, 2, 3]]), 6);
4960
assert_eq!(nested_vec(vec![vec![], vec![1, 2, 3]]), 1);
5061

51-
assert_eq!(ref_mut(42), 42)
62+
assert_eq!(ref_mut(42), 42);
63+
assert_eq!(or_and_guard((10, 32)), 42);
5264
}

0 commit comments

Comments
 (0)