about summary refs log tree commit diff
path: root/src/libsyntax/parse
AgeCommit message (Collapse)AuthorLines
2019-09-07Rollup merge of #64243 - petrochenkov:cmdattr, r=alexcrichtonMazdak Farrokhzad-1/+1
Move injection of attributes from command line to `libsyntax_ext` Just a tiny bit of code generation that wasn't moved into `libsyntax_ext` in https://github.com/rust-lang/rust/pull/62771.
2019-09-07Rollup merge of #64236 - matklad:reduce-visibility, r=CentrilMazdak Farrokhzad-11/+11
reduce visibility
2019-09-07Rollup merge of #64192 - estebank:turbofish-madness, r=petrochenkovMazdak Farrokhzad-2/+5
Bail out when encountering likely missing turbofish in parser When encountering a likely intended turbofish without `::`, bubble up the diagnostic instead of emitting it to allow the parser to recover more gracefully and avoid uneccessary type errors that are likely to be wrong. Fix #61329.
2019-09-06Move injection of attributes from command line to `libsyntax_ext`Vadim Petrochenkov-1/+1
2019-09-06reduce visibilityAleksey Kladov-11/+11
2019-09-06Rollup merge of #64202 - alexreg:rush-pr-1, r=CentrilMazdak Farrokhzad-2/+2
Fixed grammar/style in some error messages Factored out from hacking on rustc for work on the REPL. r? @Centril
2019-09-06Fixed grammar/style in error messages and reblessed tests.Alexander Regueiro-2/+2
2019-09-05Bail out when encountering likely missing turbofish in parserEsteban Küber-2/+5
When encountering a likely intended turbofish without `::`, bubble up the diagnostic instead of emitting it to allow the parser to recover more gracefully and avoid uneccessary type errors that are likely to be wrong.
2019-09-05Replace diagnostic plugins with macro_rulesMark Rousskov-4/+0
2019-09-05or-patterns: syntax: adjust parser removing a hack.Mazdak Farrokhzad-15/+3
Fuse `parse_top_pat` and `parse_top_pat_unpack` into just `parse_top_pat`.
2019-09-03Move path parsing earlier.Nicholas Nethercote-26/+30
It's a hot enough path that moving it slightly earlier gives a tiny but easy speedup.
2019-08-30Auto merge of #63402 - estebank:strip-margin, r=oli-obkbors-25/+53
Strip code to the left and right in diagnostics for long lines Fix #62999.
2019-08-29Rollup merge of #63945 - Centril:recover-mut-pat, r=estebankMazdak Farrokhzad-55/+149
Recover `mut $pat` and other improvements - Recover on e.g. `mut Foo(x, y)` and suggest `Foo(mut x, mut y)`. Fixes https://github.com/rust-lang/rust/issues/63764. - Recover on e.g. `let mut mut x;` - Recover on e.g. `let keyword` and `let keyword(...)`. - Cleanups in `token.rs` with `fn is_non_raw_ident_where` and friends.
2019-08-29Rollup merge of #63938 - tshepang:typo, r=CentrilMazdak Farrokhzad-1/+1
or-pattern: fix typo in error message cc https://github.com/rust-lang/rust/issues/54883.
2019-08-28Auto merge of #63127 - kper:pr, r=nikomatsakisbors-78/+80
Cleanup: Consistently use `Param` instead of `Arg` #62426 Fixes #62426
2019-08-28or-pattern: fix typo in error messageTshepang Lekhonkhobe-1/+1
2019-08-27Improve 'mut ' diagnostic.Mazdak Farrokhzad-20/+34
2019-08-27Ensure 'let mut ;' where ':pat' is banned.Mazdak Farrokhzad-0/+9
2019-08-27Cleanup: Consistently use `Param` instead of `Arg` #62426Kevin Per-78/+80
2019-08-27recover on 'mut ' and improve recovery for keywords.Mazdak Farrokhzad-31/+105
2019-08-27Simplify with Symbol/Token::is_book_lit.Mazdak Farrokhzad-7/+10
2019-08-27token: refactor with is_non_raw_ident_where.Mazdak Farrokhzad-19/+13
2019-08-27Rollup merge of #63761 - petrochenkov:procattrs, r=eddybMazdak Farrokhzad-4/+5
Propagate spans and attributes from proc macro definitions Thanks to https://github.com/rust-lang/rust/pull/63269 we now have spans and attributes from proc macro definitions available in metadata. However, that PR didn't actually put them into use! This PR finishes that work. Attributes `rustc_macro_transparency`, `allow_internal_unstable`, `allow_internal_unsafe`, `local_inner_macros`, `rustc_builtin_macro`, `stable`, `unstable`, `rustc_deprecated`, `deprecated` now have effect when applied to proc macro definition functions. From those attributes only `deprecated` is both stable and supposed to be used in new code. (`#![staged_api]` still cannot be used in proc macro crates for unrelated reasons though.) `Span::def_site` from the proc macro API now returns the correct location of the proc macro definition. Also, I made a mistake in https://github.com/rust-lang/rust/pull/63269#discussion_r312702919, loaded proc macros didn't actually use the resolver cache. This PR fixes the caching issue, now proc macros go through the `Resolver::macro_map` cache as well. (Also, the first commit turns `proc_macro::quote` into a regular built-in macro to reduce the number of places where `SyntaxExtension`s need to be manually created.)
2019-08-27proc_macro: Update `Span::def_site` to use the proc macro definition locationVadim Petrochenkov-4/+5
Which is no longer dummy and is available from metadata now.
2019-08-26parser: fix span for leading vert.Mazdak Farrokhzad-1/+2
2019-08-25parser: TopLevel -> RecoverComma.Mazdak Farrokhzad-10/+10
2019-08-25parser: gracefully handle `fn foo(A | B: type)`.Mazdak Farrokhzad-11/+41
2019-08-25parser: 'while parsing this or-pattern...'Mazdak Farrokhzad-1/+4
2019-08-25parser: simplify parse_pat_with_or_{inner}Mazdak Farrokhzad-17/+10
2019-08-24parser: reword || recovery.Mazdak Farrokhzad-1/+1
2019-08-24parser: extract recover_inner_leading_vert.Mazdak Farrokhzad-4/+7
2019-08-24parse_top_pat: silence leading vert gating sometimes.Mazdak Farrokhzad-3/+15
2019-08-24parser: bool -> TopLevel.Mazdak Farrokhzad-5/+9
2019-08-24parser: bool -> GateOr.Mazdak Farrokhzad-10/+16
2019-08-24parser: better recovery for || in inner pats.Mazdak Farrokhzad-4/+23
2019-08-24parser: drive-by: simplify `parse_arg_general`.Mazdak Farrokhzad-6/+3
2019-08-24parser: `let` stmts & `for` exprs: allow or-patterns.Mazdak Farrokhzad-8/+2
2019-08-24parser: document `parse_pat`.Mazdak Farrokhzad-0/+4
2019-08-24parser: `parse_pats` -> `parse_top_pat{_unpack}`.Mazdak Farrokhzad-16/+24
2019-08-24parser: document `ban_unexpected_or_or`.Mazdak Farrokhzad-0/+1
2019-08-24parser: move `maybe_recover_unexpected_comma` to a more appropriate place.Mazdak Farrokhzad-50/+49
2019-08-24parser: use `eat_or_separator` for leading vert.Mazdak Farrokhzad-2/+2
2019-08-24parser: improve `parse_pat_with_or` docs.Mazdak Farrokhzad-1/+2
2019-08-24parser: extract `eat_or_separator`.Mazdak Farrokhzad-30/+28
2019-08-24parser: integrate `maybe_recover_unexpected_comma` in `parse_pat_with_or`.Mazdak Farrokhzad-9/+17
2019-08-24parser: extract `maybe_recover_unexpected_comma`.Mazdak Farrokhzad-31/+36
2019-08-24parser: simplify `parse_pat_with_or`.Mazdak Farrokhzad-1/+1
2019-08-24parser: improve or-patterns recovery.Mazdak Farrokhzad-4/+11
2019-08-24parser: refactor `parse_pat_with_or` + use it in [p0, p1, ..] pats.Mazdak Farrokhzad-8/+15
2019-08-24parser: type alias `type Expected = Option<&'static str>;`.Mazdak Farrokhzad-8/+7