summary refs log tree commit diff
path: root/src/libsyntax/ext/tt/macro_rules.rs
AgeCommit message (Collapse)AuthorLines
2017-12-28CleanupMatt Peterson-4/+4
2017-12-28Add feature gate macro_lifetime_matcherMatt Peterson-1/+13
2017-12-28Resurrecting #33135Michael 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-17Rollup merge of #44088 - bjorn3:better_trace_macros, r=jseyfriedTim Neumann-1/+3
Fix "new trace_macros doesn't work if there's an error during expansion" Fixes #43493
2017-09-02Dont abort on first macro errorbjorn3-1/+3
2017-08-30Make fields of `Span` privateVadim Petrochenkov-2/+2
2017-08-15use field init shorthand EVERYWHEREZack M. Davis-3/+3
Like #43008 (f668999), but _much more aggressive_.
2017-08-12syntax: #[allow_internal_unsafe] bypasses the unsafe_code lint in macros.Eduard-Mihai Burtescu-3/+9
2017-08-01Fixed all unnecessary muts in language coreIsaac van Bakel-1/+1
2017-07-21Review commentsEsteban Küber-4/+5
2017-07-20Use the macro structure spans instead of the invocationEsteban Küber-1/+14
2017-07-11let #[allow_internal_unstable] cover :visAlex Burka-8/+19
2017-07-06Disallow `$($v:vis)*`. Fix #42755.kennytm-0/+1
2017-06-26Simplify `hygiene::Mark` application, andJeffrey Seyfried-5/+6
remove variant `Token::SubstNt` in favor of `quoted::TokenTree::MetaVar`.
2017-06-08Speed up expansion.Mark Simulacrum-2/+2
This reduces duplication, thereby increasing expansion speed.
2017-05-31Extend the unused macro lint to macros 2.0est31-1/+1
2017-05-27Auto merge of #42103 - jorendorff:master, r=estebankbors-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-25Hygienize `librustc_resolve`.Jeffrey Seyfried-3/+6
2017-05-25Declarative macros 2.0 without hygiene.Jeffrey Seyfried-7/+8
2017-05-25Refactor out `ast::MacroDef`.Jeffrey Seyfried-1/+1
2017-05-19trace_macro: Show both the macro call and its expansion. #42072.Jason Orendorff-3/+12
2017-05-18Add an option to the parser to avoid parsing out of line modulesNick 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.
2017-05-17Auto merge of #42049 - Mark-Simulacrum:rollup, r=Mark-Simulacrumbors-24/+22
Rollup of 5 pull requests - Successful merges: #41937, #41957, #42017, #42039, #42046 - Failed merges:
2017-05-15adressed comments by @kennytm and @petrochenkovAndre Bogus-1/+2
2017-05-15Address review commentsest31-4/+2
2017-05-13Support #[allow] etc logic on a per macro levelest31-1/+5
This commit extends the current unused macro linter to support directives like #[allow(unused_macros)] or #[deny(unused_macros)] directly next to the macro definition, or in one of the modules the macro is inside. Before, we only supported such directives at a per crate level, due to the crate's NodeId being passed to session.add_lint. We also had to implement handling of the macro's NodeId in the lint visitor.
2017-05-12Fix some clippy warnings in libsyntaxAndre Bogus-24/+21
This is mostly removing stray ampersands, needless returns and lifetimes.
2017-05-06Group "macro expansion" notes per call spanEsteban Küber-6/+6
2017-05-05Use diagnostics for trace_macro instead of printlnEsteban Küber-1/+3
2017-04-15feature gate :vis matcherAlex Burka-22/+45
2017-04-15widen :vis follow setAlex Burka-4/+4
2017-04-15parse interpolated visibility tokensAlex Burka-1/+2
2017-04-15update :vis implementation to current rustAlex Burka-6/+6
2017-04-15Implementation of the `vis` macro matcher.Daniel Keep-1/+14
2017-03-30Improve `Path` spans.Jeffrey Seyfried-1/+1
2017-03-27Fix various useless derefs and slicingsOliver Schneider-1/+1
2017-03-14Liberalize attributes.Jeffrey Seyfried-1/+2
2017-03-10Avoid using `Mark` and `Invocation` for macro defs.Jeffrey Seyfried-2/+2
2017-03-10Refactor out `ast::ItemKind::MacroDef`.Jeffrey Seyfried-3/+7
2017-03-03Integrate `TokenStream`.Jeffrey Seyfried-12/+9
2017-02-28Add warning cycle.Jeffrey Seyfried-1/+2
2017-02-28Remove `Token::MatchNt`.Jeffrey Seyfried-54/+62
2017-02-28Add `syntax::ext::tt::quoted::{TokenTree, ..}` and remove ↵Jeffrey Seyfried-34/+42
`tokenstream::TokenTree::Sequence`.
2017-01-23Remove `open_span` and `close_span` from `Delimited`.Jeffrey Seyfried-6/+7
2017-01-17Clean up `ext::tt::transcribe`.Jeffrey Seyfried-11/+2
2017-01-17Refactor the parser to consume token trees.Jeffrey Seyfried-7/+13
2016-12-18Remove scope placeholders, remove method `add_macro` of `ext::base::Resolver`.Jeffrey Seyfried-32/+2
2016-12-18Remove `MacroDef`'s fields `imported_from` and `allow_internal_unstable`,Jeffrey Seyfried-5/+2
remove `export` argument of `resolver.add_macro()`.
2016-12-07macros: fix the expected paths for a non-inline module matched by an `item` ↵Jeffrey Seyfried-8/+9
fragment.
2016-11-22Clean up directory ownership semantics.Jeffrey Seyfried-6/+7