Eduard-Mihai Burtescu
8a4facc3c3
syntax: #[allow_internal_unsafe] bypasses the unsafe_code lint in macros.
2017-08-12 09:14:50 +03:00
Isaac van Bakel
400075d9d9
Fixed all unnecessary muts in language core
2017-08-01 23:01:24 +01:00
Esteban Küber
6772661f37
Review comments
2017-07-21 16:49:09 -07:00
Esteban Küber
e99d309c56
Use the macro structure spans instead of the invocation
2017-07-20 21:27:22 -07:00
Alex Burka
f9f4707469
let #[allow_internal_unstable] cover :vis
2017-07-11 20:31:22 +00:00
kennytm
06e1fc06d7
Disallow $($v:vis)*. Fix #42755 .
2017-07-06 18:24:36 +08:00
Jeffrey Seyfried
d4488b7df9
Simplify hygiene::Mark application, and
...
remove variant `Token::SubstNt` in favor of `quoted::TokenTree::MetaVar`.
2017-06-26 02:05:45 +00:00
Mark Simulacrum
3d9ebf2916
Speed up expansion.
...
This reduces duplication, thereby increasing expansion speed.
2017-06-08 08:53:31 -06:00
est31
602036370f
Extend the unused macro lint to macros 2.0
2017-05-31 17:03:41 +02:00
bors
9337ad5bae
Auto merge of #42103 - jorendorff:master, r=estebank
...
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-27 17:38:11 +00:00
Jeffrey Seyfried
1f175fa35d
Hygienize librustc_resolve.
2017-05-25 05:51:50 +00:00
Jeffrey Seyfried
2a1d2edb82
Declarative macros 2.0 without hygiene.
2017-05-25 05:51:06 +00:00
Jeffrey Seyfried
9c6430b325
Refactor out ast::MacroDef.
2017-05-25 05:47:25 +00:00
Jason Orendorff
f8b66a001d
trace_macro: Show both the macro call and its expansion. #42072 .
2017-05-19 13:43:06 -05:00
Nick Cameron
a2566301e1
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-18 11:03:07 +12:00
bors
d8215fc238
Auto merge of #42049 - Mark-Simulacrum:rollup, r=Mark-Simulacrum
...
Rollup of 5 pull requests
- Successful merges: #41937 , #41957 , #42017 , #42039 , #42046
- Failed merges:
2017-05-17 01:57:45 +00:00
Andre Bogus
958c67d9c8
adressed comments by @kennytm and @petrochenkov
2017-05-15 23:56:09 +02:00
est31
25b7f10c78
Address review comments
2017-05-15 07:38:39 +02:00
est31
d14d194f61
Support #[allow] etc logic on a per macro level
...
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-13 16:02:29 +02:00
Andre Bogus
a9c163ebe9
Fix some clippy warnings in libsyntax
...
This is mostly removing stray ampersands, needless returns and lifetimes.
2017-05-12 20:05:39 +02:00
Esteban Küber
8c9ad8d72c
Group "macro expansion" notes per call span
2017-05-06 00:55:42 -07:00
Esteban Küber
56411443f2
Use diagnostics for trace_macro instead of println
2017-05-05 15:51:48 -07:00
Alex Burka
e0cd76674d
feature gate :vis matcher
2017-04-15 19:06:58 +00:00
Alex Burka
37459e13fc
widen :vis follow set
2017-04-15 19:06:19 +00:00
Alex Burka
16010c2f50
parse interpolated visibility tokens
2017-04-15 19:06:19 +00:00
Alex Burka
d53e413e04
update :vis implementation to current rust
2017-04-15 19:06:19 +00:00
Daniel Keep
a2489495d9
Implementation of the vis macro matcher.
2017-04-15 19:06:19 +00:00
Jeffrey Seyfried
8fde04b4a2
Improve Path spans.
2017-03-30 05:44:56 +00:00
Oliver Schneider
eb447f4ef4
Fix various useless derefs and slicings
2017-03-27 08:58:00 +02:00
Jeffrey Seyfried
839c2860cc
Liberalize attributes.
2017-03-14 04:39:21 +00:00
Jeffrey Seyfried
8c98996934
Avoid using Mark and Invocation for macro defs.
2017-03-10 08:08:32 -08:00
Jeffrey Seyfried
212b6c2550
Refactor out ast::ItemKind::MacroDef.
2017-03-10 08:08:32 -08:00
Jeffrey Seyfried
f6eaaf350e
Integrate TokenStream.
2017-03-03 02:15:37 +00:00
Jeffrey Seyfried
61a9a14d29
Add warning cycle.
2017-02-28 22:15:12 +00:00
Jeffrey Seyfried
0cc7053efa
Remove Token::MatchNt.
2017-02-28 22:15:09 +00:00
Jeffrey Seyfried
d8b34e9a74
Add syntax::ext::tt::quoted::{TokenTree, ..} and remove tokenstream::TokenTree::Sequence.
2017-02-28 22:14:29 +00:00
Jeffrey Seyfried
49f5b0a8cf
Remove open_span and close_span from Delimited.
2017-01-23 06:49:06 +00:00
Jeffrey Seyfried
6a9248fc15
Clean up ext::tt::transcribe.
2017-01-17 08:17:28 +00:00
Jeffrey Seyfried
debcbf0b8e
Refactor the parser to consume token trees.
2017-01-17 08:17:26 +00:00
Jeffrey Seyfried
421c5d11c1
Remove scope placeholders, remove method add_macro of ext::base::Resolver.
2016-12-18 23:26:30 +00:00
Jeffrey Seyfried
e80d1a8faf
Remove MacroDef's fields imported_from and allow_internal_unstable,
...
remove `export` argument of `resolver.add_macro()`.
2016-12-18 23:26:29 +00:00
Jeffrey Seyfried
fd98a8d795
macros: fix the expected paths for a non-inline module matched by an item fragment.
2016-12-07 10:56:55 +00:00
Jeffrey Seyfried
5675d9d280
Clean up directory ownership semantics.
2016-11-22 01:48:10 +00:00
Jeffrey Seyfried
36c8f6b0d3
Cleanup InternedString.
2016-11-21 09:00:56 +00:00
Jeffrey Seyfried
d2f8fb0a0a
Move syntax::util::interner -> syntax::symbol, cleanup.
2016-11-20 23:40:20 +00:00
Jeffrey Seyfried
eb3ac29a10
Reduce the size of Token and make it cheaper to clone by refactoring
...
`Token::Interpolated(Nonterminal)` -> `Token::Interpolated(Rc<Nonterminal>)`.
2016-11-03 23:48:24 +00:00
Jeffrey Seyfried
cbd24757eb
Move CrateConfig from Crate to ParseSess.
2016-10-29 07:52:58 +00:00
Jeffrey Seyfried
53de24bbd1
Refactor away fields MacroDef::{use_locally, export}.
2016-10-24 00:43:19 +00:00
bors
a117bba125
Auto merge of #37318 - nnethercote:html5ever-more, r=nrc,eddyb
...
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-22 13:09:24 -07:00
Nicholas Nethercote
b817cf8b57
Replace the String in ParseResult::Failure with Token.
...
This lets us delay creation of failure messages until they are needed,
which avoids ~1.6M allocations in html5ever.
2016-10-21 20:27:15 +11:00