| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2018-09-08 | Track distinct spans for open and close delimiter | David Tolnay | -12/+13 | |
| 2018-08-28 | Use FxHash{Map,Set} instead of the default Hash{Map,Set} everywhere in rustc. | Eduard-Mihai Burtescu | -3/+3 | |
| 2018-08-19 | Stabilize macro_vis_matcher | Jakub Kozlowski | -13/+1 | |
| 2018-08-18 | Use the new Entry::or_default method where possible. | Eduard-Mihai Burtescu | -2/+1 | |
| 2018-08-07 | Suggest comma when missing in macro call | Esteban Küber | -2/+2 | |
| When missing a comma in a macro call, suggest it, regardless of position. When a macro call doesn't match any of the patterns, check if the call's token stream could be missing a comma between two idents, and if so, create a new token stream containing the comma and try to match against the macro patterns. If successful, emit the suggestion. | ||||
| 2018-08-06 | Suggest comma when writing `println!("{}" a);` | Esteban Küber | -1/+26 | |
| 2018-07-23 | make it a migration lint | mark | -0/+2 | |
| 2018-07-23 | Fix test and errors | mark | -265/+182 | |
| 2018-07-23 | Implement 2015 vs 2018 `?` kleene op + test | mark | -182/+280 | |
| 2018-07-10 | Deny bare trait objects in in src/libsyntax | ljedrz | -2/+2 | |
| 2018-06-30 | hygiene: Implement transparent marks | Vadim Petrochenkov | -0/+3 | |
| 2018-06-30 | expansion: Give names to some fields of `SyntaxExtension` | Vadim Petrochenkov | -1/+5 | |
| 2018-06-27 | Implement `#[macro_export(local_inner_macros)]` | Vadim Petrochenkov | -0/+7 | |
| 2018-06-23 | expansion: Rename `Expansion` to `AstFragment` | Vadim Petrochenkov | -5/+5 | |
| 2018-05-26 | Add `Ident::as_str` helper | Vadim Petrochenkov | -4/+4 | |
| 2018-05-20 | Auto merge of #50855 - nnethercote:fewer-macro_parser-allocs, r=petrochenkov | bors | -1/+2 | |
| Speed up the macro parser These three commits reduce the number of allocations done by the macro parser, in some cases dramatically. For example, for a clean check builds of html5ever, the number of allocations is reduced by 40%. Here are the rustc-benchmarks that are sped up by at least 1%. ``` html5ever-check avg: -6.6% min: -10.3% max: -4.1% html5ever avg: -5.2% min: -9.5% max: -2.8% html5ever-opt avg: -4.3% min: -9.3% max: -1.6% crates.io-check avg: -1.8% min: -2.9% max: -0.6% crates.io-opt avg: -1.0% min: -2.2% max: -0.1% crates.io avg: -1.1% min: -2.2% max: -0.2% ``` | ||||
| 2018-05-18 | Make `Directory::path` a `Cow`. | Nicholas Nethercote | -1/+2 | |
| Because we create a lot of these in the macro parser, but only very rarely modify them. This speeds up some html5ever runs by 2--3%. | ||||
| 2018-05-17 | Pass crate editions to macro expansions, update tests | Vadim Petrochenkov | -3/+6 | |
| 2018-05-13 | stabilize :lifetime | Alex Burka | -13/+1 | |
| 2018-05-13 | Macros: Add a 'literal' fragment specifier | Dan Aloni | -2/+19 | |
| Implements RFC 1576. See: https://github.com/rust-lang/rfcs/blob/master/text/1576-macros-literal-matcher.md Changes are mostly in libsyntax, docs, and tests. Feature gate is enabled for 1.27.0. Many thanks to Vadim Petrochenkov for following through code reviews and suggestions. Example: ````rust macro_rules! test_literal { ($l:literal) => { println!("literal: {}", $l); }; ($e:expr) => { println!("expr: {}", $e); }; } fn main() { let a = 1; test_literal!(a); test_literal!(2); test_literal!(-3); } ``` Output: ``` expr: 1 literal: 2 literal: -3 ``` | ||||
| 2018-04-06 | Remove more duplicated spans | Vadim Petrochenkov | -1/+1 | |
| 2018-03-18 | Initial implementation of RFC 2151, Raw Identifiers | Lymia Aluysia | -3/+3 | |
| 2018-03-16 | Auto merge of #48524 - abonander:check-macro-stability, r=petrochenkov | bors | -1/+12 | |
| check stability of macro invocations I haven't implemented tests yet but this should be a pretty solid prototype. I think as-implemented it will also stability-check macro invocations in the same crate, dunno if we want that or not. I don't know if we want this to go through `rustc::middle::stability` or not, considering the information there wouldn't be available at the time of macro expansion (even for external crates, right?). r? @nrc closes #34079 cc @petrochenkov @durka @jseyfried #38356 | ||||
| 2018-03-07 | check stability of macro invocations | Austin Bonander | -1/+12 | |
| 2018-03-05 | Turn features() into a query. | Michael Woerister | -9/+8 | |
| 2018-03-02 | Replace Rc with Lrc for shared data | John Kåre Alsaker | -3/+4 | |
| 2018-01-30 | Add feature gate + tests | Mark Mansi | -2/+4 | |
| 2018-01-26 | Do not capture stderr in the compiler. Instead just panic silently for fatal ↵ | John Kåre Alsaker | -2/+2 | |
| errors | ||||
| 2017-12-28 | Cleanup | Matt Peterson | -4/+4 | |
| 2017-12-28 | Add feature gate macro_lifetime_matcher | Matt Peterson | -1/+13 | |
| 2017-12-28 | Resurrecting #33135 | Michael Hewson | -7/+8 | |
| 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-09-17 | Rollup merge of #44088 - bjorn3:better_trace_macros, r=jseyfried | Tim Neumann | -1/+3 | |
| Fix "new trace_macros doesn't work if there's an error during expansion" Fixes #43493 | ||||
| 2017-09-02 | Dont abort on first macro error | bjorn3 | -1/+3 | |
| 2017-08-30 | Make fields of `Span` private | Vadim Petrochenkov | -2/+2 | |
| 2017-08-15 | use field init shorthand EVERYWHERE | Zack M. Davis | -3/+3 | |
| Like #43008 (f668999), but _much more aggressive_. | ||||
| 2017-08-12 | syntax: #[allow_internal_unsafe] bypasses the unsafe_code lint in macros. | Eduard-Mihai Burtescu | -3/+9 | |
| 2017-08-01 | Fixed all unnecessary muts in language core | Isaac van Bakel | -1/+1 | |
| 2017-07-21 | Review comments | Esteban Küber | -4/+5 | |
| 2017-07-20 | Use the macro structure spans instead of the invocation | Esteban Küber | -1/+14 | |
| 2017-07-11 | let #[allow_internal_unstable] cover :vis | Alex Burka | -8/+19 | |
| 2017-07-06 | Disallow `$($v:vis)*`. Fix #42755. | kennytm | -0/+1 | |
| 2017-06-26 | Simplify `hygiene::Mark` application, and | Jeffrey Seyfried | -5/+6 | |
| remove variant `Token::SubstNt` in favor of `quoted::TokenTree::MetaVar`. | ||||
| 2017-06-08 | Speed up expansion. | Mark Simulacrum | -2/+2 | |
| This reduces duplication, thereby increasing expansion speed. | ||||
| 2017-05-31 | Extend the unused macro lint to macros 2.0 | est31 | -1/+1 | |
| 2017-05-27 | Auto merge of #42103 - jorendorff:master, r=estebank | bors | -3/+12 | |
| trace_macro: Show both the macro call and its expansion. #42072. See #42072 for the initial motivation behind this. The change is not the minimal fix, but I want this behavior almost every time I use `trace_macros`. | ||||
| 2017-05-25 | Hygienize `librustc_resolve`. | Jeffrey Seyfried | -3/+6 | |
| 2017-05-25 | Declarative macros 2.0 without hygiene. | Jeffrey Seyfried | -7/+8 | |
| 2017-05-25 | Refactor out `ast::MacroDef`. | Jeffrey Seyfried | -1/+1 | |
| 2017-05-19 | trace_macro: Show both the macro call and its expansion. #42072. | Jason Orendorff | -3/+12 | |
| 2017-05-18 | Add an option to the parser to avoid parsing out of line modules | Nick Cameron | -2/+2 | |
| 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. | ||||
