| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2019-01-09 | Change `String` to `&'static str` in `ParseResult::Failure`. | Nicholas Nethercote | -1/+1 | |
| This avoids 770,000 allocations when compiling the `html5ever` benchmark, reducing instruction counts by up to 2%. | ||||
| 2018-12-25 | Remove licenses | Mark Rousskov | -10/+0 | |
| 2018-12-07 | Various minor/cosmetic improvements to code | Alexander Regueiro | -6/+6 | |
| 2018-11-27 | Auto merge of #55402 - estebank:macro-eof-2, r=nikomatsakis | bors | -8/+36 | |
| Point at end of macro arm when encountering EOF Fix #52866. | ||||
| 2018-11-23 | Reword EOF in macro arm message | Esteban Küber | -1/+4 | |
| 2018-11-23 | Keep label on moved spans and point at macro invocation on parse error | Esteban Küber | -8/+12 | |
| 2018-11-23 | Point at macro arm when it doesn't expand to an expression | Esteban Küber | -3/+7 | |
| 2018-11-23 | Reword incorrect macro invocation primary label | Esteban Küber | -4/+11 | |
| 2018-11-23 | Add label when replacing primary DUMMY_SP in macro expansion | Esteban Küber | -0/+1 | |
| 2018-11-23 | Point at end of macro arm when encountering EOF | Esteban Küber | -0/+9 | |
| Fix #52866 | ||||
| 2018-11-21 | macro_literal_matcher: fixes per petrochenkov's review | Dan Aloni | -3/+3 | |
| 2018-11-21 | Stabilize macro_literal_matcher | Dan Aloni | -18/+13 | |
| 2018-10-26 | Auto merge of #54929 - csmoe:cfg_lint, r=petrochenkov | bors | -1/+1 | |
| Suggest to remove prefix `b` in cfg attribute lint string Closes #54926 r? @estebank | ||||
| 2018-10-26 | Rollup merge of #55358 - sinkuu:redundant_clone2, r=estebank | kennytm | -2/+1 | |
| Remove redundant clone (2) | ||||
| 2018-10-26 | Rollup merge of #55301 - estebank:macro-allowed, r=petrochenkov | kennytm | -44/+94 | |
| List allowed tokens after macro fragments Fix #34069. | ||||
| 2018-10-26 | Rollup merge of #55298 - estebank:macro-def, r=pnkfelix | kennytm | -7/+18 | |
| Point at macro definition when no rules expect token Fix #35150. | ||||
| 2018-10-26 | Rollup merge of #55292 - estebank:macro-eof, r=pnkfelix | kennytm | -1/+6 | |
| Macro diagnostics tweaks Fix #30128, fix #10951 by adding an appropriate span to the diagnostic. Fix #26288 by suggesting adding semicolon to macro call. | ||||
| 2018-10-26 | Remove redundant clone | Shotaro Yamada | -2/+1 | |
| 2018-10-25 | List allowed tokens after macro fragments | Esteban Küber | -44/+94 | |
| 2018-10-25 | Rollup merge of #54977 - estebank:macro-arg-parse, r=pnkfelix | Pietro Albini | -1/+2 | |
| Accept `Option<Box<$t:ty>>` in macro argument Given the following code, compile successfuly: ``` macro_rules! test { ( fn fun() -> Option<Box<$t:ty>>; ) => { fn fun(x: $t) -> Option<Box<$t>> { Some(Box::new(x)) } } } test! { fn fun() -> Option<Box<i32>>; } ``` Fix #25274. | ||||
| 2018-10-24 | Point to macro def span instead of whole body | Esteban Küber | -1/+1 | |
| 2018-10-23 | Point at macro definition when no rules expect token | Esteban Küber | -7/+18 | |
| 2018-10-23 | Add macro call span when lacking any other span in diagnostic | Esteban Küber | -1/+6 | |
| 2018-10-20 | handle errors based on parse_sess | csmoe | -1/+1 | |
| 2018-10-12 | Add missing lifetime fragment specifier to error message. | Eric Huss | -5/+6 | |
| A very minor issue, `lifetime` was missing from the error list. I left `literal` in the list, even though it is unstable. It looks like it may stabilize soon anyways. | ||||
| 2018-10-10 | Accept `Option<Box<$t:ty>>` in macro argument | Esteban Küber | -1/+2 | |
| Given the following code, compile successfuly: ``` macro_rules! test { ( fn fun() -> Option<Box<$t:ty>>; ) => { fn fun(x: $t) -> Option<Box<$t>> { Some(Box::new(x)) } } } test! { fn fun() -> Option<Box<i32>>; } ``` | ||||
| 2018-09-17 | Whitespace fix again. | Vitaly _Vi Shukela | -4/+4 | |
| 2018-09-17 | Fill in suggestions Applicability according to @estebank | Vitaly _Vi Shukela | -4/+4 | |
| Also fix some formatting along the way. | ||||
| 2018-09-16 | Remove usages of span_suggestion without Applicability | Vitaly _Vi Shukela | -1/+3 | |
| Use Applicability::Unspecified for all of them instead. | ||||
| 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 | |
