diff options
| author | Caio <c410.f3r@gmail.com> | 2019-07-26 19:52:37 -0300 |
|---|---|---|
| committer | Caio <c410.f3r@gmail.com> | 2019-07-27 07:16:21 -0300 |
| commit | 53fc7fbc9606ba8b29e674ab08c3ccf1ebfd128d (patch) | |
| tree | a4ed14e5c8281e129d4fe42d69a95ff6aa0f74fa /src/libsyntax/parse/parser.rs | |
| parent | a7f28678bbf4e16893bb6a718e427504167a9494 (diff) | |
| download | rust-53fc7fbc9606ba8b29e674ab08c3ccf1ebfd128d.tar.gz rust-53fc7fbc9606ba8b29e674ab08c3ccf1ebfd128d.zip | |
Lint attributes on function arguments
Diffstat (limited to 'src/libsyntax/parse/parser.rs')
| -rw-r--r-- | src/libsyntax/parse/parser.rs | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/libsyntax/parse/parser.rs b/src/libsyntax/parse/parser.rs index da388694637..ed4cb405fe7 100644 --- a/src/libsyntax/parse/parser.rs +++ b/src/libsyntax/parse/parser.rs @@ -1502,6 +1502,7 @@ impl<'a> Parser<'a> { where F: Fn(&token::Token) -> bool { + let lo = self.token.span; let attrs = self.parse_arg_attributes()?; if let Some(mut arg) = self.parse_self_arg()? { arg.attrs = attrs.into(); @@ -1565,11 +1566,14 @@ impl<'a> Parser<'a> { } }; - Ok(Arg { attrs: attrs.into(), id: ast::DUMMY_NODE_ID, pat, ty }) + let span = lo.to(self.token.span); + + Ok(Arg { attrs: attrs.into(), id: ast::DUMMY_NODE_ID, pat, span, ty }) } /// Parses an argument in a lambda header (e.g., `|arg, arg|`). fn parse_fn_block_arg(&mut self) -> PResult<'a, Arg> { + let lo = self.token.span; let attrs = self.parse_arg_attributes()?; let pat = self.parse_pat(Some("argument name"))?; let t = if self.eat(&token::Colon) { @@ -1581,10 +1585,12 @@ impl<'a> Parser<'a> { span: self.prev_span, }) }; + let span = lo.to(self.token.span); Ok(Arg { attrs: attrs.into(), ty: t, pat, + span, id: ast::DUMMY_NODE_ID }) } |
