diff --git a/src/parse.rs b/src/parse.rs index 924a3ca1664c34daab76a6bd845d9768b4e0c473..48c2e6edda2f03d8c4631076f02db5ace5e67db7 100644 --- a/src/parse.rs +++ b/src/parse.rs @@ -510,7 +510,7 @@ fn ips(tts: &mut Peekable<Iter<TokenTree>>) -> Result<Ips> { bail!("expected `fn` Ident, found {:?}", tt); } ty_arg = Some(::parse::delimited(&mut tts, DelimToken::Paren, |tts| { - Ok(syn::parse_type(&format!("{}", quote!(#(#tts)*)))?) + Ok(syn::parse_type(&format!("({})", quote!(#(#tts)*)))?) })?); let tt = tts.peek().cloned(); @@ -596,11 +596,14 @@ fn ops(tts: &mut Peekable<Iter<TokenTree>>) -> Result<Ops> { let ty_arg = Some(::parse::delimited( &mut tts, DelimToken::Paren, - |tts| if tts.is_empty() { - Ok(Ty::Tup(vec![])) - } else { - Ok(syn::parse_type(&format!("{}", quote!(#(#tts)*)))?) - }, + |tts| + Ok(syn::parse_type(&format!("({})", quote!(#(#tts)*)))?) +// if tts.is_empty() { +// Ok(Ty::Tup(vec![])) +// } else { +// Ok(syn::parse_type(&format!("({})", quote!(#(#tts)*)))?) +// }, + )?); let tt = tts.peek().cloned();