diff --git a/src/pat.rs b/src/pat.rs index bfabfe667a..cce95a6b9e 100644 --- a/src/pat.rs +++ b/src/pat.rs @@ -654,7 +654,7 @@ pub mod parsing { fn pat_lit_expr(input: ParseStream) -> Result>> { if input.is_empty() || input.peek(Token![|]) - || input.peek(Token![=>]) + || input.peek(Token![=]) || input.peek(Token![:]) && !input.peek(Token![::]) || input.peek(Token![,]) || input.peek(Token![;]) diff --git a/tests/test_stmt.rs b/tests/test_stmt.rs index dbe1c76589..0bca62b048 100644 --- a/tests/test_stmt.rs +++ b/tests/test_stmt.rs @@ -4,6 +4,7 @@ mod macros; use proc_macro2::{Delimiter, Group, Ident, Span, TokenStream, TokenTree}; +use quote::quote; use std::iter::FromIterator; use syn::Stmt; @@ -74,3 +75,19 @@ fn test_none_group() { }) "###); } + +#[test] +fn test_let_dot_dot() { + let tokens = quote! { + let .. = 10; + }; + + snapshot!(tokens as Stmt, @r###" + Local(Local { + pat: Pat::Rest, + init: Some(Expr::Lit { + lit: 10, + }), + }) + "###); +}