| #![allow(unused_variables)] | |
| struct Zeroes; | |
| const ARR: [usize; 2] = [0; 2]; | |
| const ARR2: [usize; 2] = [2; 2]; | |
| impl Into<&'static [usize; 2]> for Zeroes { | |
| fn into(self) -> &'static [usize; 2] { | |
| &ARR | |
| } | |
| } | |
| impl Into<&'static [usize]> for Zeroes { | |
| fn into(self) -> &'static [usize] { | |
| &ARR2 | |
| } | |
| } | |
| fn let_decl() { | |
| let &[a, b] = Zeroes.into(); | |
| } | |
| fn let_else() { | |
| let &[a, b] = Zeroes.into() else { | |
| //~^ ERROR type annotations needed | |
| unreachable!(); | |
| }; | |
| } | |
| fn if_let() { | |
| if let &[a, b] = Zeroes.into() { | |
| //~^ ERROR type annotations needed | |
| unreachable!(); | |
| } | |
| } | |
| fn if_let_else() { | |
| if let &[a, b] = Zeroes.into() { | |
| //~^ ERROR type annotations needed | |
| unreachable!(); | |
| } else { | |
| unreachable!(); | |
| } | |
| } | |
| fn main() {} |