Skip to content

Commit d7086ca

Browse files
committed
Fix span for type-only arguments
1 parent fe63e47 commit d7086ca

File tree

1 file changed

+8
-8
lines changed

1 file changed

+8
-8
lines changed

src/libsyntax/parse/parser.rs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1761,27 +1761,27 @@ impl<'a> Parser<'a> {
17611761
pub fn parse_arg_general(&mut self, require_name: bool) -> PResult<'a, Arg> {
17621762
maybe_whole!(self, NtArg, |x| x);
17631763

1764-
let pat = if require_name || self.is_named_argument() {
1764+
let (pat, ty) = if require_name || self.is_named_argument() {
17651765
debug!("parse_arg_general parse_pat (require_name:{})",
17661766
require_name);
17671767
let pat = self.parse_pat()?;
17681768

17691769
self.expect(&token::Colon)?;
1770-
pat
1770+
(pat, self.parse_ty()?)
17711771
} else {
17721772
debug!("parse_arg_general ident_to_pat");
17731773
let ident = Ident::new(keywords::Invalid.name(), self.prev_span);
1774-
P(Pat {
1774+
let ty = self.parse_ty()?;
1775+
let pat = P(Pat {
17751776
id: ast::DUMMY_NODE_ID,
17761777
node: PatKind::Ident(BindingMode::ByValue(Mutability::Immutable), ident, None),
1777-
span: ident.span,
1778-
})
1778+
span: ty.span,
1779+
});
1780+
(pat, ty)
17791781
};
17801782

1781-
let t = self.parse_ty()?;
1782-
17831783
Ok(Arg {
1784-
ty: t,
1784+
ty,
17851785
pat,
17861786
id: ast::DUMMY_NODE_ID,
17871787
})

0 commit comments

Comments
 (0)