Aaron Hill
b541d3da5d
Add -Z span-debug to allow for easier debugging of proc macros
...
Currently, the `Debug` impl for `proc_macro::Span` just prints out
the byte range. This can make debugging proc macros (either as a crate
author or as a compiler developer) very frustrating, since neither the
actual filename nor the `SyntaxContext` is displayed.
This commit adds a perma-unstable flag `-Z span-debug`. When enabled,
the `Debug` impl for `proc_macro::Span` simply forwards directly to
`rustc_span::Span`. Once #72618 is merged, this will start displaying
actual line numbers.
While `Debug` impls are not subject to Rust's normal stability
guarnatees, we probably shouldn't expose any additional information on
stable until `#![feature(proc_macro_span)]` is stabilized. Otherwise,
we would be providing a 'backdoor' way to access information that's
supposed be behind unstable APIs.
2020-06-04 15:39:12 -04:00
Vadim Petrochenkov
81e06dac84
Add a test for $:ident in proc macro input
2020-05-31 00:24:56 +03:00
Vadim Petrochenkov
4d5ce340cd
test-macros: Avoid always producing errors in #[derive(Print)]
2020-05-31 00:17:33 +03:00
Aaron Hill
4d4facbe4f
Revert "Add test for macro_rules! invoking a proc-macro with capture groups"
...
This reverts commit 30c00fd26a .
2020-05-29 00:19:08 -04:00
Aaron Hill
14382c6437
Collect tokens for ast::Expr
2020-05-24 15:54:48 -04:00
Aaron Hill
30c00fd26a
Add test for macro_rules! invoking a proc-macro with capture groups
2020-05-22 15:07:41 -04:00
Aaron Hill
633293fc3a
Fix tests
2020-05-20 15:33:58 -04:00
Aaron Hill
4a8ccdcc0b
Use a fixed-point iteration when breaking tokens
...
Some tokens need to be broken in a loop until we reach
'unbreakable' tokens.
2020-05-19 19:47:23 -04:00
Aaron Hill
9b2b8a5afa
Break tokens before checking if they are 'probably equal'
...
Fixes #68489
When checking two `TokenStreams` to see if they are 'probably equal',
we ignore the `IsJoint` information associated with each `TokenTree`.
However, the `IsJoint` information determines whether adjacent tokens
will be 'glued' (if possible) when construction the `TokenStream` - e.g.
`[Gt Gt]` can be 'glued' to `BinOp(Shr)`.
Since we are ignoring the `IsJoint` information, 'glued' and 'unglued'
tokens are equivalent for determining if two `TokenStreams` are
'probably equal'. Therefore, we need to 'unglue' all tokens in the
stream to avoid false negatives (which cause us to throw out the cached
tokens, losing span information).
2020-05-19 18:48:26 -04:00
bors
5943351d0e
Auto merge of #68717 - petrochenkov:stabexpat, r=varkor
...
Stabilize fn-like proc macros in expression, pattern and statement positions
I.e. all the positions in which stable `macro_rules` macros are supported.
Depends on https://github.com/rust-lang/rust/pull/68716 ("Stabilize `Span::mixed_site`").
cc https://github.com/rust-lang/rust/issues/54727
cc https://github.com/rust-lang/rust/issues/54727#issuecomment-580647446
Stabilization report: https://github.com/rust-lang/rust/pull/68717#issuecomment-623197503 .
2020-05-19 03:11:32 +00:00
David Tolnay
4c4b4c4ab4
Add test of proc_macro::TokenStream's Debug
2020-05-15 09:04:00 -07:00
Andy Russell
9f88d75710
reword "possible candidate" import suggestion
2020-05-07 00:33:25 -04:00
Mohsen Zohrevandi
7db74beaec
Ignore SGX on a few ui tests
2020-05-05 19:19:39 -07:00
Vadim Petrochenkov
5c6f7b32aa
Stabilize fn-like proc macros in expression, pattern and statement positions
2020-05-03 19:24:41 +03:00
Dylan DPC
0144bf6a84
Rollup merge of #71340 - Valloric:more-check-pass, r=nikomatsakis
...
Moving more build-pass tests to check-pass
One or two tests became build-pass without the FIXME because they really
needed build-pass (were failing without it).
Helps with #62277
---
<!-- Reviewable:start -->
This change is [<img src="https://reviewable.io/review_button.svg " height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/rust-lang/rust/71340 )
<!-- Reviewable:end -->
2020-04-28 17:55:43 +02:00
Vadim Petrochenkov
f5223a3435
Stabilize Span::mixed_site
2020-04-26 18:21:53 +03:00
Vadim Petrochenkov
966a295e8c
Add a test for Span::resolved_at and Span::located_at
2020-04-25 14:59:09 +03:00
Val Markovic
2155adbc3a
Moving more build-pass tests to check-pass
...
One or two tests became build-pass without the FIXME because they really
needed build-pass (were failing without it).
Helps with #62277
2020-04-23 20:21:38 -07:00
David Tolnay
7435547b25
proc_macro::is_available()
2020-04-21 12:50:16 -07:00
RoccoDev
b85c64c3ea
rustc: Add a warning count upon completion
2020-04-11 16:15:24 +02:00
Eduard-Mihai Burtescu
8deff18529
tests: remove ignore directives from tests that mention core/alloc/std spans.
2020-04-02 11:48:34 +03:00
Vadim Petrochenkov
1fa6be0358
resolve: Remove rustc_attrs as a standalone feature gate
...
Now it only gates specific built-in attributes
2020-03-24 21:37:29 +03:00
Mazdak Farrokhzad
d8080d828c
expand: address review comments
2020-03-24 06:28:56 +01:00
Mazdak Farrokhzad
c1ef1b3bca
defatalize ProcMacroDerive::expand
...
Also remove ExtCtxt::struct_span_fatal.
2020-03-24 06:28:56 +01:00
Mazdak Farrokhzad
35cca74212
defatalize BangProcMacro::expand
2020-03-24 06:28:55 +01:00
Mazdak Farrokhzad
1bb0c929cb
Rollup merge of #70300 - aleksator:66636_reword_unused_variable_warning, r=Dylan-DPC
...
Reword unused variable warning
Fixes #66636
2020-03-23 19:04:54 +01:00
Mazdak Farrokhzad
bb85308ce7
Rollup merge of #70233 - petrochenkov:superproc, r=ecstatic-morse
...
resolve: Do not resolve visibilities on proc macro definitions twice
Fixes https://github.com/rust-lang/rust/issues/68921
2020-03-23 10:29:16 +01:00
Mazdak Farrokhzad
906b399583
Rollup merge of #69942 - estebank:sized-verbose-sugg, r=matthewjasper
...
Increase verbosity when suggesting subtle code changes
Do not suggest changes that are actually quite small inline, to minimize the likelihood of confusion.
Fix #69243 .
2020-03-23 10:29:09 +01:00
Alex Tokarev
b35c30251f
Reword unused variable warning
2020-03-23 12:14:45 +03:00
Vadim Petrochenkov
c3c0a097a7
resolve: Do not resolve visibilities on proc macro definitions twice
2020-03-23 11:40:58 +03:00
Mazdak Farrokhzad
11f5309858
Rollup merge of #70227 - LeSeulArtichaut:typo-def, r=Centril
...
Only display definition when suggesting a typo
Closes #70206
r? @Centril
2020-03-23 04:26:08 +01:00
Esteban Küber
854b78fe22
Normalize wording of privacy access labels
2020-03-22 15:36:54 -07:00
Esteban Küber
94bbd46682
Add span label to primary error span
2020-03-22 11:18:06 -07:00
Vadim Petrochenkov
bdd07f932b
proc_macro_harness: Use item header spans for errors
2020-03-22 12:59:32 +03:00
Vadim Petrochenkov
e391d776e3
Add a test for out-of-line module passed through a proc macro
2020-03-21 21:40:58 +03:00
LeSeulArtichaut
cb7a2c16aa
Bless tests
2020-03-21 15:03:58 +01:00
Mazdak Farrokhzad
60a2d063a9
Rollup merge of #70075 - GuillaumeGomez:fix-repr-display, r=petrochenkov
...
Fix repr pretty display
Fixes #70027 .
r? @varkor
2020-03-18 18:03:47 +01:00
Guillaume Gomez
81172d8f39
Update pretty tests
2020-03-17 20:58:31 +01:00
bors
7ceebd98c6
Auto merge of #69519 - 12101111:remove-proc-macro-check, r=nagisa
...
Don't use static crt by default when build proc-macro
Don't check value of `crt-static` when build proc-macro crates, since they are always built dynamically.
For more information, see https://github.com/rust-lang/cargo/issues/7563#issuecomment-591965320
I hope this will fix issues about compiling `proc_macro` crates on musl host without bring more issues.
Fix https://github.com/rust-lang/cargo/issues/7563
2020-03-17 18:27:26 +00:00
12101111
afd374ff36
Ignore wasm32
2020-03-17 09:57:11 +08:00
Ralf Jung
c7eb0f2a40
fix expand-to-unstable test
2020-03-11 19:41:41 +01:00
Mazdak Farrokhzad
87b6bc3518
span-api-tests: leave FIXME
2020-03-10 07:26:27 +01:00
Mazdak Farrokhzad
cf2d4236eb
--bless some tests
2020-03-10 07:26:27 +01:00
Mazdak Farrokhzad
b3bc427228
adjust span-api-tests.rs
2020-03-10 07:26:27 +01:00
12101111
75e6cfc79b
run crt-static test on all target
2020-03-09 08:39:34 +08:00
12101111
7a89bf1667
override flags from compiletest
2020-03-08 21:49:52 +08:00
12101111
84349cc564
Remove trailing whitespace.
2020-03-03 19:42:27 +08:00
12101111
89aebbdd7b
Only run this test on musl
2020-03-03 19:17:24 +08:00
12101111
7ca1b2f504
Don't use static crt by default when build proc-macro.
2020-03-03 16:17:15 +08:00
Yuki Okushi
c55df3786a
Make rustc_attrs tracking issue None
2020-03-01 00:48:14 +09:00