| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2017-01-23 | Remove `open_span` and `close_span` from `Delimited`. | Jeffrey Seyfried | -6/+7 | |
| 2017-01-17 | Clean up `ext::tt::transcribe`. | Jeffrey Seyfried | -11/+2 | |
| 2017-01-17 | Refactor the parser to consume token trees. | Jeffrey Seyfried | -7/+13 | |
| 2016-12-18 | Remove scope placeholders, remove method `add_macro` of `ext::base::Resolver`. | Jeffrey Seyfried | -32/+2 | |
| 2016-12-18 | Remove `MacroDef`'s fields `imported_from` and `allow_internal_unstable`, | Jeffrey Seyfried | -5/+2 | |
| remove `export` argument of `resolver.add_macro()`. | ||||
| 2016-12-07 | macros: fix the expected paths for a non-inline module matched by an `item` ↵ | Jeffrey Seyfried | -8/+9 | |
| fragment. | ||||
| 2016-11-22 | Clean up directory ownership semantics. | Jeffrey Seyfried | -6/+7 | |
| 2016-11-21 | Cleanup `InternedString`. | Jeffrey Seyfried | -4/+3 | |
| 2016-11-20 | Move `syntax::util::interner` -> `syntax::symbol`, cleanup. | Jeffrey Seyfried | -5/+6 | |
| 2016-11-03 | Reduce the size of `Token` and make it cheaper to clone by refactoring | Jeffrey Seyfried | -8/+14 | |
| `Token::Interpolated(Nonterminal)` -> `Token::Interpolated(Rc<Nonterminal>)`. | ||||
| 2016-10-29 | Move `CrateConfig` from `Crate` to `ParseSess`. | Jeffrey Seyfried | -2/+2 | |
| 2016-10-24 | Refactor away fields `MacroDef::{use_locally, export}`. | Jeffrey Seyfried | -3/+2 | |
| 2016-10-22 | Auto merge of #37318 - nnethercote:html5ever-more, r=nrc,eddyb | bors | -7/+12 | |
| Avoid some allocations in the macro parser These three commits reduce the number of heap allocations done when compiling rustc-benchmarks/html5ever-2016-08-25 by 20%, from 16.5M to 13.3M. This speeds up (debug) compilation of it with a stage1 compiler by about 7%. | ||||
| 2016-10-21 | Replace the `String` in `ParseResult::Failure` with `Token`. | Nicholas Nethercote | -7/+12 | |
| This lets us delay creation of failure messages until they are needed, which avoids ~1.6M allocations in html5ever. | ||||
| 2016-10-21 | Avoid an unnecessary clone in `generic_extensions`. | Nicholas Nethercote | -2/+2 | |
| This avoids ~800,000 allocations in html5ever. | ||||
| 2016-10-19 | Improve `$crate`. | Jeffrey Seyfried | -9/+3 | |
| 2016-10-14 | Avoid many CrateConfig clones. | Nicholas Nethercote | -2/+2 | |
| This commit changes `ExtCtx::cfg()` so it returns a `CrateConfig` reference instead of a clone. As a result, it also changes all of the `cfg()` callsites to explicitly clone... except one, because the commit also changes `macro_parser::parse()` to take `&CrateConfig`. This is good, because that function can be hot, and `CrateConfig` is expensive to clone. This change almost halves the number of heap allocations done by rustc for `html5ever` in rustc-benchmarks suite, which makes compilation 1.20x faster. | ||||
| 2016-09-28 | Rollup merge of #36789 - jseyfried:non_inline_mod_in_block, r=nikomatsakis | Jonathan Turner | -1/+1 | |
| Allow more non-inline modules in blocks Currently, non-inline modules without a `#[path]` attribute are not allowed in blocks. This PR allows non-inline modules that have an ancestor module with a `#[path]` attribute, provided there is not a nearer ancestor block. For example, ```rust fn main() { #[path = "..."] mod foo { mod bar; //< allowed by this PR fn f() { mod bar; //< still an error } } } ``` Fixes #36772. r? @nikomatsakis | ||||
| 2016-09-28 | Allow non-inline modules in more places. | Jeffrey Seyfried | -1/+1 | |
| 2016-09-26 | Rollup merge of #36721 - TimNN:infinite-emptiness, r=nrc | Jonathan Turner | -1/+38 | |
| reject macros with empty repetitions Fixes #5067 by checking the lhs of `macro_rules!` for repetitions which could match an empty token tree. | ||||
| 2016-09-26 | reject macros with empty repetitions | Tim Neumann | -1/+38 | |
| 2016-09-26 | Refactor `ensure_complete_parse`. | Jeffrey Seyfried | -24/+11 | |
| 2016-09-26 | Remove `TokResult`. | Jeffrey Seyfried | -1/+1 | |
| 2016-09-26 | Refactor `parse_expansion` out of `ResultAnyMacro`. | Jeffrey Seyfried | -88/+12 | |
| 2016-09-24 | Load macros from `#[macro_use]` extern crates in `resolve`. | Jeffrey Seyfried | -4/+5 | |
| 2016-09-24 | Refactor `ext::tt::macro_rules::compile` to take a `ParseSess` instead of an ↵ | Jeffrey Seyfried | -39/+32 | |
| `ExtCtxt`. | ||||
| 2016-09-23 | reviewer comments and rebasing | Nick Cameron | -7/+4 | |
| 2016-09-15 | Remove `MacroRulesTT`. | Jeffrey Seyfried | -3/+36 | |
| 2016-09-13 | Move macro resolution into `librustc_resolve`. | Jeffrey Seyfried | -2/+2 | |
| 2016-09-05 | Refactor `SyntaxEnv`. | Jeffrey Seyfried | -2/+2 | |
| 2016-09-05 | In `Parser` and `ExtCtxt`, replace fields `filename` and `mod_path_stack` | Jeffrey Seyfried | -2/+1 | |
| with a single field `directory: PathBuf`. | ||||
| 2016-08-07 | Make metavariables hygienic. | Jeffrey Seyfried | -2/+2 | |
| 2016-07-13 | Start a best-effort warning cycle. | Jeffrey Seyfried | -1/+1 | |
| 2016-07-13 | cleanup: Refactor parser method `finish_parsing_statement` -> `parse_full_stmt`. | Jeffrey Seyfried | -7/+1 | |
| 2016-07-12 | Parse macro-expanded statements like ordinary statements. | Jeffrey Seyfried | -1/+7 | |
| 2016-07-04 | Revert "Change `fold_tt` and `fold_tts` to take token trees by value ↵ | Jeffrey Seyfried | -4/+5 | |
| (instead of by reference)" This reverts commit 5bf7970ac70b4e7781e7b2f3816720aa62fac6fd. | ||||
| 2016-06-26 | Rollup merge of #33943 - jseyfried:libsyntax_cleanup, r=nrc | Jeffrey Seyfried | -22/+19 | |
| Miscellaneous low priority cleanup in `libsyntax`. | ||||
| 2016-06-26 | Rollup merge of #34385 - cgswords:tstream, r=nrc | Jeffrey Seyfried | -7/+9 | |
| syntax-[breaking-change] cc #31645 (Only breaking because ast::TokenTree is now tokenstream::TokenTree.) This pull request refactors TokenTrees into their own file as src/libsyntax/tokenstream.rs, moving them out of src/libsyntax/ast.rs, in order to prepare for an accompanying TokenStream implementation (per RFC 1566). | ||||
| 2016-06-25 | Rollup merge of #34403 - jonathandturner:move_liberror, r=alexcrichton | Jeffrey Seyfried | -1/+1 | |
| This PR refactors the 'errors' part of libsyntax into its own crate (librustc_errors). This is the first part of a few refactorings to simplify error reporting and potentially support more output formats (like a standardized JSON output and possibly an --explain mode that can work with the user's code), though this PR stands on its own and doesn't assume further changes. As part of separating out the errors crate, I have also refactored the code position portion of codemap into its own crate (libsyntax_pos). While it's helpful to have the common code positions in a separate crate for the new errors crate, this may also enable further simplifications in the future. | ||||
| 2016-06-23 | Move errors from libsyntax to its own crate | Jonathan Turner | -1/+1 | |
| 2016-06-21 | Refactored tokentrees into their own files in preparation for tokenstreams. ↵ | cgswords | -7/+9 | |
| Modified tests to point to the new file now. | ||||
| 2016-06-14 | Change `fold_tt` and `fold_tts` to take token trees by value (instead of by ↵ | Jeffrey Seyfried | -21/+19 | |
| reference) | ||||
| 2016-06-13 | Add support for macro expansion inside trait items | Joseph Dunne | -0/+15 | |
| 2016-06-07 | Auto merge of #33982 - LeoTestard:remove-check-matcher-old, r=pnkfelix | bors | -233/+18 | |
| Remove the old FOLLOW checking (aka `check_matcher_old`). It was supposed to be removed at the next release cycle but is still in the tree since like 6 months. Potential breaking change, since some cases (such as #25658) will change from a warning to an error. But the warning stating that it will be a hard error in the next release has been there for 6 months now. I think it's safe to break this code. ^_^ | ||||
| 2016-06-06 | Remove the old FOLLOW checking (aka `check_matcher_old`). | Leo Testard | -233/+18 | |
| 2016-05-26 | Reject a LHS formed of a single sequence TT during `macro_rules!` checking. | Leo Testard | -9/+4 | |
| This was already rejected during expansion. Encountering malformed LHS or RHS during expansion is now considered a bug. | ||||
| 2016-05-24 | Avoid iterating two times over the list of LHSes. | Leo Testard | -5/+4 | |
| 2016-05-24 | Make sure that macros that didn't pass LHS checking are not expanded. | Leo Testard | -33/+53 | |
| This avoids duplicate errors for things like invalid fragment specifiers, or parsing errors for ambiguous macros. Fixes #29231. | ||||
| 2016-04-24 | syntax: Make static/super/self/Self keywords + special ident cleanup | Vadim Petrochenkov | -3/+3 | |
| 2016-04-24 | syntax: Get rid of token::IdentStyle | Vadim Petrochenkov | -12/+10 | |
