}
token::OpenDelim(token::Paren) => {
if qself.is_some() {
- return Err(self.fatal("unexpected `(` after qualified path"));
+ let msg = "unexpected `(` after qualified path";
+ let mut err = self.fatal(msg);
+ err.span_label(self.span, msg);
+ return Err(err);
}
// Parse tuple struct or enum pattern
- self.bump();
- let (fields, ddpos) = self.parse_pat_tuple_elements(false)?;
- self.expect(&token::CloseDelim(token::Paren))?;
+ let (fields, ddpos, _) = self.parse_parenthesized_pat_list()?;
pat = PatKind::TupleStruct(path, fields, ddpos)
}
_ => pat = PatKind::Path(qself, path),