Mark Simulacrum
4066c8ec71
Rollup merge of #41957 - llogiq:clippy-libsyntax, r=petrochenkov
...
Fix some clippy warnings in libsyntax
This is mostly removing stray ampersands, needless returns and lifetimes. Basically a lot of small changes.
2017-05-16 17:31:50 -06:00
Mark Simulacrum
6b4f3a73d2
Rollup merge of #42005 - jseyfried:fix_macro_regression, r=nrc
...
Fix regression in `macro_rules!` name matching
Fixes #41803 .
r? @nrc
2017-05-16 08:18:34 -06:00
Andre Bogus
958c67d9c8
adressed comments by @kennytm and @petrochenkov
2017-05-15 23:56:09 +02:00
Jeffrey Seyfried
9f4e1e10a4
Fix regression in macro_rules! name matching.
2017-05-15 09:26:26 +00: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
Corey Farwell
1940c31c92
Rollup merge of #41520 - estebank:trace-macro, r=nikomatsakis
...
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-08 22:34:47 -04:00
bors
0c2f34dd02
Auto merge of #41676 - sirideain:expand-macro-recursion-limit, r=jseyfried
...
Increase macro recursion limit to 1024
Fixes #22552
2017-05-07 03:01:31 +00: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
est31
d290849a23
Removal pass for anonymous parameters
...
Removes occurences of anonymous parameters from the
rustc codebase, as they are to be deprecated.
See issue #41686 and RFC 1685.
2017-05-02 05:55:20 +02:00
Charlie Sheridan
3008f53c95
Increase macro recursion limit to 1024 Fixes #22552
2017-05-01 19:23:11 -04:00
Michael Woerister
39ffea31df
Implement a file-path remapping feature in support of debuginfo and reproducible builds.
2017-04-26 15:44:02 +02:00
Austin Bonander
910532ea45
Don't panic if an attribute macro fails to resolve at crate root
...
Adds temporary regression test; this ideally should work as-is (#41430 )
Closes #41211
2017-04-20 16:13:13 -07:00
bors
235fe8313f
Auto merge of #41282 - arielb1:missing-impl-item, r=petrochenkov
...
libsyntax/parse: fix missing kind error reporting
Fixes #41161 .
Fixes #41239 .
2017-04-17 22:22:56 +00:00
Ariel Ben-Yehuda
d648c10e5b
libsyntax/parse: improve associated item error reporting
...
Fixes #41161 .
Fixes #41239 .
2017-04-17 21:25:35 +03: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
A.J. Gardner
768e902941
First attempt at global_asm! macro
2017-04-12 19:12:49 -05:00
Jeffrey Seyfried
6a9448b523
Fix bug parsing #[derive] macro invocations.
2017-04-03 23:02:49 +00:00
Jeffrey Seyfried
8fde04b4a2
Improve Path spans.
2017-03-30 05:44:56 +00:00
Jeffrey Seyfried
f08d5ad4c5
Refactor how spans are combined in the parser.
2017-03-29 11:17:59 +00:00
Jeffrey Seyfried
ec7c0aece1
Merge ExpnId and SyntaxContext.
2017-03-29 00:41:10 +00:00
Jeffrey Seyfried
1979f96549
Move syntax::ext::hygiene to syntax_pos::hygiene.
2017-03-29 00:41:08 +00:00
Alex Crichton
1fe2dfca81
Rollup merge of #40813 - jseyfried:fix_expansion_regression, r=nrc
...
macros: fix ICE on some nested macro definitions
Fixes #40770 .
r? @nrc
2017-03-27 15:56:24 -07:00
Oliver Schneider
eb447f4ef4
Fix various useless derefs and slicings
2017-03-27 08:58:00 +02:00
Jeffrey Seyfried
29a052d2d8
Fix ICE with nested macros in certain situations.
2017-03-25 04:04:13 +00:00
Michael Woerister
bc259ee844
Introduce HirId, a replacement for NodeId after lowering to HIR.
...
HirId has a more stable representation than NodeId, meaning that
modifications to one item don't influence (part of) the IDs within
other items. The other part is a DefIndex for which there already
is a way of stable hashing and persistence.
This commit introduces the HirId type and generates a HirId for
every NodeId during HIR lowering, but the resulting values are
not yet used anywhere, except in consistency checks.
2017-03-22 17:02:07 +01:00
Vadim Petrochenkov
b5e889791a
Refactor parsing of trait object types
2017-03-21 23:01:53 +03:00
bors
9c15de4fd5
Auto merge of #40346 - jseyfried:path_and_tokenstream_attr, r=nrc
...
`TokenStream`-based attributes, paths in attribute and derive macro invocations
This PR
- refactors `Attribute` to use `Path` and `TokenStream` instead of `MetaItem`.
- supports macro invocation paths for attribute procedural macros.
- e.g. `#[::foo::attr_macro] struct S;`, `#[cfg_attr(all(), foo::attr_macro)] struct S;`
- supports macro invocation paths for derive procedural macros.
- e.g. `#[derive(foo::Bar, super::Baz)] struct S;`
- supports arbitrary tokens as arguments to attribute procedural macros.
- e.g. `#[foo::attr_macro arbitrary + tokens] struct S;`
- supports using arbitrary tokens in "inert attributes" with derive procedural macros.
- e.g. `#[derive(Foo)] struct S(#[inert arbitrary + tokens] i32);`
where `#[proc_macro_derive(Foo, attributes(inert))]`
r? @nrc
2017-03-19 10:56:08 +00:00
Jeffrey Seyfried
839c2860cc
Liberalize attributes.
2017-03-14 04:39:21 +00:00
Jeffrey Seyfried
68c1cc68b4
Refactor Attribute to use Path and TokenStream instead of MetaItem.
2017-03-14 04:03:43 +00:00
Jeffrey Seyfried
460bf55f8a
Cleanup.
2017-03-14 03:35:16 +00:00
Corey Farwell
8d1c5700f0
Rollup merge of #40369 - petrochenkov:segspan, r=eddyb
...
Give spans to individual path segments in AST
And use these spans in path resolution diagnostics.
The spans are spans of identifiers in segments, not whole segments. I'm not sure what spans are more useful in general, but identifier spans are a better fit for resolve errors.
HIR still doesn't have spans.
Fixes https://github.com/rust-lang/rust/pull/38927#discussion_r95336667 https://github.com/rust-lang/rust/pull/38890#issuecomment-271731008
r? @nrc @eddyb
2017-03-12 12:48:46 -04:00
bors
1b19284ad9
Auto merge of #40220 - jseyfried:ast_macro_def, r=nrc
...
syntax: add `ast::ItemKind::MacroDef`, simplify hygiene info
This PR
- adds a new variant `MacroDef` to `ast::ItemKind` for `macro_rules!` and eventually `macro` items,
- [breaking-change] forbids macro defs without a name (`macro_rules! { () => {} }` compiles today),
- removes `ast::MacroDef`, and
- no longer uses `Mark` and `Invocation` to identify and characterize macro definitions.
- We used to apply (at least) two `Mark`s to an expanded identifier's `SyntaxContext` -- the definition mark(s) and the expansion mark(s). We now only apply the latter.
r? @nrc
2017-03-11 22:48:14 +00:00
Vadim Petrochenkov
32575a0487
Give spans to individual path segments in AST
2017-03-10 08:21:45 -08:00
Nick Cameron
5afe784daa
Expect macro defs in save-analysis and add expn info to spans for attr proc macros
2017-03-10 08:16:21 -08:00
Jeffrey Seyfried
8c98996934
Avoid using Mark and Invocation for macro defs.
2017-03-10 08:08:32 -08:00
Jeffrey Seyfried
e839486318
Move resolve_invoc from syntax to resolve.
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
0143774cb5
Remove lifetime parameter from syntax::tokenstream::Cursor.
2017-03-03 01:52:48 +00:00
bors
5907ed63d3
Auto merge of #39655 - durka:recursion-limit-suggestion, r=nikomatsakis
...
suggest doubling recursion limit in more situations
Fixes #38852 .
r? @bluss
2017-03-02 17:44:17 +00:00
Alex Burka
6e259dc778
note -> help
2017-03-02 07:11:22 +00:00
Jeffrey Seyfried
61a9a14d29
Add warning cycle.
2017-02-28 22:15:12 +00:00
Jeffrey Seyfried
752413005e
Merge repeat_idx and repeat_len.
2017-02-28 22:15:10 +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