summary refs log tree commit diff
path: root/src/libsyntax/ext
AgeCommit message (Collapse)AuthorLines
2017-07-05Merge remote-tracking branch 'origin/master' into proc_macro_apiAlex Crichton-7/+8
2017-07-02Output line column info when panickingest31-5/+6
2017-06-29Make `$crate` a keywordVadim Petrochenkov-2/+2
2017-06-26Add `LazyTokenStream`.Jeffrey Seyfried-50/+30
2017-06-26Implement `quote!` and other `proc_macro` API.Jeffrey Seyfried-2/+5
2017-06-26Simplify `hygiene::Mark` application, andJeffrey Seyfried-87/+75
remove variant `Token::SubstNt` in favor of `quoted::TokenTree::MetaVar`.
2017-06-19Add compile_error!Wesley Wiser-0/+1
Related to #40872
2017-06-08Speed up expansion.Mark Simulacrum-27/+34
This reduces duplication, thereby increasing expansion speed.
2017-05-31Extend the unused macro lint to macros 2.0est31-4/+7
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 lifetimes.Jeffrey Seyfried-6/+6
2017-05-25Hygienize `librustc_resolve`.Jeffrey Seyfried-18/+44
2017-05-25Declarative macros 2.0 without hygiene.Jeffrey Seyfried-7/+8
2017-05-25Refactor out `ast::MacroDef`.Jeffrey Seyfried-1/+1
2017-05-24Rollup merge of #42071 - nrc:parse-mods, r=nikomatsakisMark Simulacrum-4/+8
Add an option to the parser to avoid parsing out of line modules 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-19Rollup merge of #42006 - jseyfried:fix_include_regression, r=nrcMark Simulacrum-5/+5
Fix ICE on `include!(line!())` (regression) Fixes #41776. r? @nrc
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-4/+8
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 #41961 - kennytm:fix-35829, r=petrochenkovbors-36/+20
Fix #35829 (`quote!()` does not handle `br#"…"#`) Fix issue #35829 (syntax extension's `quote_expr!()` does not handle `b"…"` and proc_macro's `quote!()` does not handle `r#"…"#`) * Handles `b"…"`, `br#"…"#` and `...` for `quote_expr!()`. * Refactored the match statement to allow it to complain loudly on any unhandled token. * Similarly, proc_macro's `quote!()` did not handle `br#"…"#` or `r#"…"#`, so this PR fixes it too.
2017-05-17Auto merge of #42049 - Mark-Simulacrum:rollup, r=Mark-Simulacrumbors-84/+90
Rollup of 5 pull requests - Successful merges: #41937, #41957, #42017, #42039, #42046 - Failed merges:
2017-05-16Rollup merge of #41957 - llogiq:clippy-libsyntax, r=petrochenkovMark Simulacrum-84/+90
Fix some clippy warnings in libsyntax This is mostly removing stray ampersands, needless returns and lifetimes. Basically a lot of small changes.
2017-05-16Auto merge of #41907 - est31:macro_unused, r=jseyfriedbors-3/+11
Add lint for unused macros Addresses parts of #34938, to add a lint for unused macros. We now output warnings by default when we encounter a macro that we didn't use for expansion. Issues to be resolved before this PR is ready for merge: - [x] fix the NodeId issue described above - [x] remove all unused macros from rustc and the libraries or set `#[allow(unused_macros)]` next to them if they should be kept for some reason. This is needed for successful boostrap and bors to accept the PR. -> #41934 - [x] ~~implement the full extent of #34938, that means the macro match arm checking as well.~~ *let's not do this for now*
2017-05-16Rollup merge of #42005 - jseyfried:fix_macro_regression, r=nrcMark Simulacrum-5/+6
Fix regression in `macro_rules!` name matching Fixes #41803. r? @nrc
2017-05-15adressed comments by @kennytm and @petrochenkovAndre Bogus-26/+31
2017-05-15Fix regression on `include!(line!())`.Jeffrey Seyfried-5/+5
2017-05-15Fix regression in `macro_rules!` name matching.Jeffrey Seyfried-5/+6
2017-05-15Address review commentsest31-4/+2
2017-05-13Support #[allow] etc logic on a per macro levelest31-3/+7
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-13Add lint for unused macrosest31-0/+6
2017-05-13Fix #35829 (syntax extension's `quote_expr!()` does not handle b"…")kennytm-36/+20
* Handles `b"…"`, `br#"…"#` and `...` for `quote_expr!()`. * Refactored the match statement to allow it to complain loudly on any unhandled token. * Similarly, proc_macro's `quote!()` did not handle `br#"…"#` or `r#"…"#`, so this commit fixes it too.
2017-05-12Fix some clippy warnings in libsyntaxAndre Bogus-81/+82
This is mostly removing stray ampersands, needless returns and lifetimes.
2017-05-08Rollup merge of #41520 - estebank:trace-macro, r=nikomatsakisCorey Farwell-5/+19
Use diagnostics for trace_macro instead of println When using `trace_macro`, use `span_label`s instead of `println`: ```rust note: trace_macro --> $DIR/trace-macro.rs:14:5 | 14 | println!("Hello, World!"); | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: expands to `println! { "Hello, World!" }` = note: expands to `print! { concat ! ( "Hello, World!" , "\n" ) }` ``` Fix #22597.
2017-05-07Auto merge of #41676 - sirideain:expand-macro-recursion-limit, r=jseyfriedbors-1/+1
Increase macro recursion limit to 1024 Fixes #22552
2017-05-06Group "macro expansion" notes per call spanEsteban Küber-9/+18
2017-05-05Use diagnostics for trace_macro instead of printlnEsteban Küber-1/+6
2017-05-02Removal pass for anonymous parametersest31-1/+1
Removes occurences of anonymous parameters from the rustc codebase, as they are to be deprecated. See issue #41686 and RFC 1685.
2017-05-01Increase macro recursion limit to 1024 Fixes #22552Charlie Sheridan-1/+1
2017-04-26Implement a file-path remapping feature in support of debuginfo and ↵Michael Woerister-3/+3
reproducible builds.
2017-04-20Don't panic if an attribute macro fails to resolve at crate rootAustin Bonander-2/+12
Adds temporary regression test; this ideally should work as-is (#41430) Closes #41211
2017-04-17Auto merge of #41282 - arielb1:missing-impl-item, r=petrochenkovbors-2/+2
libsyntax/parse: fix missing kind error reporting Fixes #41161. Fixes #41239.
2017-04-17libsyntax/parse: improve associated item error reportingAriel Ben-Yehuda-2/+2
Fixes #41161. Fixes #41239.
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/+15
2017-04-12First attempt at global_asm! macroA.J. Gardner-0/+1
2017-04-03Fix bug parsing `#[derive]` macro invocations.Jeffrey Seyfried-1/+2
2017-03-30Improve `Path` spans.Jeffrey Seyfried-16/+31
2017-03-29Refactor how spans are combined in the parser.Jeffrey Seyfried-5/+4