| // Regression test for issue #91328. | |
| //@ run-rustfix | |
| #![allow(dead_code)] | |
| fn foo(r: Result<Vec<i32>, i32>) -> i32 { | |
| match r.as_deref() { | |
| //~^ HELP: consider using `as_deref` here | |
| Ok([a, b]) => a + b, | |
| //~^ ERROR: expected an array or slice | |
| //~| NOTE: pattern cannot match with input type | |
| _ => 42, | |
| } | |
| } | |
| fn bar(o: Option<Vec<i32>>) -> i32 { | |
| match o.as_deref() { | |
| //~^ HELP: consider using `as_deref` here | |
| Some([a, b]) => a + b, | |
| //~^ ERROR: expected an array or slice | |
| //~| NOTE: pattern cannot match with input type | |
| _ => 42, | |
| } | |
| } | |
| fn baz(v: Vec<i32>) -> i32 { | |
| match v[..] { | |
| //~^ HELP: consider slicing here | |
| [a, b] => a + b, | |
| //~^ ERROR: expected an array or slice | |
| //~| NOTE: pattern cannot match with input type | |
| _ => 42, | |
| } | |
| } | |
| fn qux(a: &Option<Box<[i32; 2]>>) -> i32 { | |
| match a.as_deref() { | |
| //~^ HELP: consider using `as_deref` here | |
| Some([a, b]) => a + b, | |
| //~^ ERROR: expected an array or slice | |
| //~| NOTE: pattern cannot match with input type | |
| _ => 42, | |
| } | |
| } | |
| fn main() {} |