| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2018-05-03 | check if the token is a lifetime before parsing | rleungx | -1/+7 | |
| 2018-04-06 | Make lifetime nonterminals closer to identifier nonterminals | Vadim Petrochenkov | -2/+2 | |
| 2018-04-06 | Remove more duplicated spans | Vadim Petrochenkov | -1/+1 | |
| 2018-04-06 | Get rid of `SpannedIdent` | Vadim Petrochenkov | -3/+3 | |
| 2018-03-18 | Return a is_raw parameter from Token::ident rather than having separate methods. | Lymia Aluysia | -2/+2 | |
| 2018-03-18 | Initial implementation of RFC 2151, Raw Identifiers | Lymia Aluysia | -9/+10 | |
| 2018-03-17 | Reject `_` in `ident` matcher | Vadim Petrochenkov | -17/+19 | |
| 2018-03-17 | syntax: Make `_` an identifier | Vadim Petrochenkov | -2/+1 | |
| 2018-01-30 | Update a few comments | Mark Mansi | -1/+0 | |
| 2018-01-30 | Fix trailing whitespace | Mark Mansi | -1/+1 | |
| 2018-01-30 | Attempted fix for `?` kleene op | Mark Mansi | -23/+21 | |
| 2018-01-30 | Run rustfmt on macro_parser.rs | Mark Mansi | -4/+6 | |
| 2018-01-30 | Update the macro parser to allow at most once repetitions for `?` Kleene | Mark Mansi | -16/+22 | |
| 2018-01-29 | Update comment | Mark Mansi | -1/+2 | |
| 2018-01-26 | A few more comments | Mark Mansi | -0/+8 | |
| 2018-01-26 | Still more comments | Mark Mansi | -2/+26 | |
| 2018-01-26 | Added/improved comments | Mark Mansi | -17/+61 | |
| 2018-01-26 | Added lots of comments + minor reorganization | Mark Mansi | -34/+94 | |
| 2018-01-26 | Added a bunch of comments to macro_parser.rs | Mark Mansi | -10/+62 | |
| 2018-01-26 | Run rustfmt on /libsyntax/ext/tt/macro_parser.rs | Mark Mansi | -78/+114 | |
| 2018-01-26 | Do not capture stderr in the compiler. Instead just panic silently for fatal ↵ | John Kåre Alsaker | -3/+3 | |
| errors | ||||
| 2017-12-28 | replace parse_lifetime with expect_lifetime | Michael Hewson | -1/+1 | |
| made `parser::Parser::expect_lifetime` public, so it can be called from `macro_parser::parse_nt` | ||||
| 2017-12-28 | Resurrecting #33135 | Michael Hewson | -0/+1 | |
| Started rebasing @sgrif's PR #33135 off of current master. (Well, actually merging it into a new branch based off current master.) The following files still need to be fixed or at least reviewed: - `src/libsyntax/ext/tt/macro_parser.rs`: calls `Parser::parse_lifetime`, which doesn't exist anymore - `src/libsyntax/parse/parser.rs`: @sgrif added an error message to `Parser::parse_lifetime`. Code has since been refactored, so I just took it out for now. - `src/libsyntax/ext/tt/transcribe.rs`: This code has been refactored bigtime. Not sure whether @sgrif's changes here are still necessary. Took it out for this commit. | ||||
| 2017-08-30 | Make fields of `Span` private | Vadim Petrochenkov | -3/+4 | |
| 2017-08-21 | Auto merge of #43540 - petrochenkov:pathrelax, r=nikomatsakis | bors | -3/+1 | |
| syntax: Relax path grammar TLDR: Accept the disambiguator `::` in "type" paths (`Type::<Args>`), accept the disambiguator `::` before parenthesized generic arguments (`Fn::(Args)`). The "turbofish" disambiguator `::<>` in expression paths is a necessary evil required for path parsing to be both simple and to give reasonable results. Since paths in expressions usually refer to values (but not necessarily, e.g. `Struct::<u8> { field: 0 }` is disambiguated, but refers to a type), people often consider `::<>` to be inherent to *values*, and not *expressions* and want to write disambiguated paths for values even in contexts where disambiguation is not strictly necessary, for example when a path is passed to a macro `m!(Vec::<i32>::new)`. The problem is that currently, if the disambiguator is not *required*, then it's *prohibited*. This results in confusion - see https://github.com/rust-lang/rust/issues/41740, https://internals.rust-lang.org/t/macro-path-uses-novel-syntax/5561. This PR makes the disambiguator *optional* instead of prohibited in contexts where it's not strictly required, so people can pass paths to macros in whatever form they consider natural (e.g. disambiguated form for value paths). This PR also accepts the disambiguator in paths with parenthesized arguments (`Fn::(Args)`) for consistency and to simplify testing of stuff like https://github.com/rust-lang/rust/pull/41856#issuecomment-301219194. Closes https://github.com/rust-lang/rust/issues/41740 cc @rust-lang/lang r? @nikomatsakis | ||||
| 2017-08-15 | use field init shorthand EVERYWHERE | Zack M. Davis | -3/+3 | |
| Like #43008 (f668999), but _much more aggressive_. | ||||
| 2017-08-11 | Issue warnings for unnecessary path disambiguators | Vadim Petrochenkov | -3/+1 | |
| 2017-08-01 | Fixed all unnecessary muts in language core | Isaac van Bakel | -2/+2 | |
| 2017-07-24 | Make the macro parser theory description more accurate | Piotr Czarnecki | -100/+102 | |
| 2017-07-07 | Only match a fragment specifier the if it starts with certain tokens. | kennytm | -4/+70 | |
| Fixes #24189. Fixes #26444. Fixes #27832. Fixes #34030. Fixes #35650. Fixes #39964. Fixes the 4th comment in #40569. Fixes the issue blocking #40984. | ||||
| 2017-06-26 | Simplify `hygiene::Mark` application, and | Jeffrey Seyfried | -15/+9 | |
| remove variant `Token::SubstNt` in favor of `quoted::TokenTree::MetaVar`. | ||||
| 2017-06-08 | Speed up expansion. | Mark Simulacrum | -17/+23 | |
| This reduces duplication, thereby increasing expansion speed. | ||||
| 2017-05-18 | Add an option to the parser to avoid parsing out of line modules | Nick Cameron | -2/+6 | |
| This is useful if parsing from stdin or a String and don't want to try and read in a module from another file. Instead we just leave a stub in the AST. | ||||
| 2017-05-16 | Rollup merge of #41957 - llogiq:clippy-libsyntax, r=petrochenkov | Mark Simulacrum | -28/+29 | |
| Fix some clippy warnings in libsyntax This is mostly removing stray ampersands, needless returns and lifetimes. Basically a lot of small changes. | ||||
| 2017-05-15 | adressed comments by @kennytm and @petrochenkov | Andre Bogus | -23/+27 | |
| 2017-05-15 | Fix regression in `macro_rules!` name matching. | Jeffrey Seyfried | -5/+6 | |
| 2017-05-12 | Fix some clippy warnings in libsyntax | Andre Bogus | -26/+23 | |
| This is mostly removing stray ampersands, needless returns and lifetimes. | ||||
| 2017-04-15 | Implementation of the `vis` macro matcher. | Daniel Keep | -0/+1 | |
| 2017-03-30 | Improve `Path` spans. | Jeffrey Seyfried | -1/+1 | |
| 2017-03-29 | Refactor how spans are combined in the parser. | Jeffrey Seyfried | -5/+4 | |
| 2017-03-21 | Refactor parsing of trait object types | Vadim Petrochenkov | -1/+1 | |
| 2017-03-14 | Cleanup. | Jeffrey Seyfried | -1/+1 | |
| 2017-03-03 | Integrate `TokenStream`. | Jeffrey Seyfried | -21/+11 | |
| 2017-02-28 | Add warning cycle. | Jeffrey Seyfried | -9/+23 | |
| 2017-02-28 | Remove `Token::MatchNt`. | Jeffrey Seyfried | -8/+6 | |
| 2017-02-28 | Add `syntax::ext::tt::quoted::{TokenTree, ..}` and remove ↵ | Jeffrey Seyfried | -20/+24 | |
| `tokenstream::TokenTree::Sequence`. | ||||
| 2017-01-20 | Rollup merge of #39118 - jseyfried:token_tree_based_parser, r=nrc | Alex Crichton | -20/+4 | |
| Refactor the parser to consume token trees This is groundwork for efficiently parsing attribute proc macro invocations, bang macro invocations, and `TokenStream`-based attributes and fragment matchers. This improves parsing performance by 8-15% and expansion performance by 0-5% on a sampling of the compiler's crates. r? @nrc | ||||
| 2017-01-17 | Avoid interpolated token trees. | Jeffrey Seyfried | -16/+1 | |
| 2017-01-17 | Refactor the parser to consume token trees. | Jeffrey Seyfried | -4/+3 | |
| 2017-01-17 | syntax: Rename parse_ty -> parse_ty_no_plus, parse_ty_sum -> parse_ty | Vadim Petrochenkov | -1/+1 | |
