varkor
7bc94cc3c2
Rename Item.node to Item.kind
2019-09-26 18:21:48 +01:00
varkor
c3d8791373
Rename Ty.node to Ty.kind
2019-09-26 18:21:10 +01:00
Mark Rousskov
8417ac67c3
Inline attribute constructors
2019-09-21 16:14:10 -04:00
Matthew Jasper
5ae3830d58
Give more Idents spans
2019-09-15 09:15:38 +01:00
Matthew Jasper
6fcdb36ccb
Make use of hygiene in AST passes
2019-09-05 15:07:16 +01:00
Vadim Petrochenkov
0fb01d219c
Audit uses of apply_mark in built-in macros
...
Replace them with equivalents of `Span::{def_site,call_site}` from proc macro API.
The new API is much less error prone and doesn't rely on macros having default transparency.
2019-08-23 01:44:33 +03:00
Vadim Petrochenkov
67d6ce4206
syntax_pos: NO_EXPANSION/SyntaxContext::empty() -> SyntaxContext::root()
...
For consistency with `ExpnId::root`.
Also introduce a helper `Span::with_root_ctxt` for creating spans with `SyntaxContext::root()` context
2019-08-15 20:38:12 +03:00
Mark Rousskov
0f985817bd
Replace AstBuilder with inherent methods
2019-07-31 08:55:37 -04:00
Mark Rousskov
b2c5065b04
Remove Span argument from ExtCtxt::attribute
...
MetaItem.span was always equivalent
2019-07-31 08:55:37 -04:00
Vadim Petrochenkov
b5a0e6ea80
syntax_ext: proc_macro_decls -> proc_macro_harness
...
Few other minor renamings for consistency.
Remove one unused dependency from `rustc_passes`.
Fix libsyntax tests.
Fix rebase.
2019-07-27 14:16:16 +03:00
Vadim Petrochenkov
f6eda99379
Move test harness generation into libsyntax_ext
2019-07-27 13:56:54 +03:00
Vadim Petrochenkov
76b1ffaf6c
syntax_ext: Reuse built-in attribute template checking for macro attributes
2019-07-24 12:29:45 +03:00
Vadim Petrochenkov
09703e3843
Adjust other names after the Mark renaming
2019-07-19 12:01:49 +03:00
Samy Kacimi
a36763af8a
normalize use of backticks in compiler messages for libsyntax_ext
...
https://github.com/rust-lang/rust/issues/60532
2019-07-15 23:11:29 +02:00
Vadim Petrochenkov
f1d4ebf015
Remove unnecessary expansions created by #[test_case/test/bench]
...
The expansions were created to allow unstable things inside `#[test_case/test/bench]`, but that's not a proper way to do that.
Put the required `allow_internal_unstable`s into the macros' properties instead.
2019-07-11 00:12:07 +03:00
Vadim Petrochenkov
16918a8e28
Rename some things in syntax_pos/hygiene
...
More consistent with other naming:
ExpnFormat -> ExpnKind
ExpnKind::name -> ExpnKind::descr
DesugaringKind::name -> DesugaringKind::descr
Shorter, no tautology:
CompilerDesugaring -> Desugaring
CompilerDesugaringKind -> DesugaringKind
2019-07-11 00:12:07 +03:00
Vadim Petrochenkov
8ec502eecd
syntax: Introduce default/with_unstable constructors for ExpnInfo
2019-06-18 10:48:56 +03:00
Vadim Petrochenkov
961ba8f9ef
syntax: Factor out common fields from SyntaxExtension variants
2019-06-18 10:48:56 +03:00
Nicholas Nethercote
26451ef7b5
Avoid unnecessary internings.
...
Most involving `Symbol::intern` on string literals.
2019-05-27 13:58:38 +10:00
John Kåre Alsaker
a1f2dceaeb
Move edition outside the hygiene lock and avoid accessing it
2019-05-21 18:17:05 +02:00
Nicholas Nethercote
e57c0dbeb7
Eliminate Symbol::gensymed.
2019-05-20 14:46:30 +10:00
Nicholas Nethercote
fb084a48e2
Pass a Symbol to check_name, emit_feature_err, and related functions.
2019-05-13 09:29:22 +10:00
Alexey Shmalko
7bf33f00bf
Fix comments around test harness generation
2019-04-17 12:02:04 +03:00
Vadim Petrochenkov
0cf96131f4
Refactor away NestedMetaItemKind
...
Remove methods `Attribute::span` and `MetaItem::span` duplicating public fields
2019-03-16 23:14:42 +03:00
Nathan Corbyn
8300f51936
Deny async fn in 2015 edition
...
Fix style issues and update diagnostic messages
Update src/librustc_passes/diagnostics.rs
Co-Authored-By: doctorn <me@nathancorbyn.com >
Deny nested `async fn` in Rust 2015 edition
Deny nested `async fn` in Rust 2015 edition
Deny nested `async fn` in Rust 2015 edition
2019-02-24 16:33:12 +00:00
Oliver Scherer
b681433b9d
Use Rc<[Symbol]> instead of Vec<Symbol> to reduce # of allocs
2019-02-11 15:08:17 +01:00
Oliver Scherer
d3c212c552
Require a list of features to allow in allow_internal_unstable
2019-02-11 15:08:16 +01:00
Taiki Endo
94f121ff3f
libsyntax_ext => 2018
2019-02-04 21:49:54 +09:00
bors
ceb2512144
Auto merge of #57321 - petrochenkov:atokens, r=nikomatsakis
...
Implement basic input validation for built-in attributes
Correct top-level shape (`#[attr]` vs `#[attr(...)]` vs `#[attr = ...]`) is enforced for built-in attributes, built-in attributes must also fit into the "meta-item" syntax (aka the "classic attribute syntax").
For some subset of attributes (found by crater run), errors are lowered to deprecation warnings.
NOTE: This PR previously included https://github.com/rust-lang/rust/pull/57367 as well.
2019-01-16 15:01:20 +00:00
Vadim Petrochenkov
41c65992c5
Implement basic input validation for built-in attributes
2019-01-13 14:17:19 +03:00
Andy Russell
e379970056
improve non_upper_case_globals diagnostics
...
Use a structured suggestion and tighten the span to just the identifier.
2019-01-08 13:24:38 -05:00
Mark Rousskov
2a663555dd
Remove licenses
2018-12-25 21:08:33 -07:00
Alexander Regueiro
ee89c088b0
Various minor/cosmetic improvements to code
2018-12-07 23:53:34 +00:00
giacomo
0671bdb1eb
reword #[test] attribute error on fn items
2018-11-11 21:17:47 +01:00
Vadim Petrochenkov
8994c6d417
expansion: Remove restriction on use of macro attributes with test/bench
...
The restrictions were introduced in https://github.com/rust-lang/rust/pull/54277 and no longer necessary now because legacy plugins are now expanded in usual left-to-right order
2018-10-05 11:40:40 +04:00
Vadim Petrochenkov
229df02c0b
Temporarily prohibit proc macro attributes placed after derives
...
... and also proc macro attributes used together with test/bench.
2018-09-16 19:51:41 +03:00
John Renner
0593dc7e3c
Move #[test_case] to a syntax extension
2018-09-04 22:33:23 -07:00
John Renner
9b27de41d4
Introduce Custom Test Frameworks
2018-09-04 22:33:00 -07:00