Does Rust 2018 support “if let” chaining?
问题 I'm parsing a vector of tokens, each of enum type. This means I get a lot of code like: if v.len() >= 3 { if let Token::Type1(value1) = &v[0] { if let Token::Type2(value2) = &v[1] { if let Token::Type(value3) = &v[2] { return Parsed123(value1, value2, value3); } } } } This is pretty ugly - and I've worked out that I can do this to make it a little nicer: if v.len() >= 3 { if let (Token::Type1(value1), Token::Type2(value2), Token::Type3(value3)) = (&v[0], &v[1], &v[2]) { return Parsed123