Matthew Jasper
5ae3830d58
Give more Idents
spans
2019-09-15 09:15:38 +01:00
Kevin Per
e0ce9f8c0a
Cleanup: Consistently use Param
instead of Arg
#62426
2019-08-27 14:07:41 +02: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
6cb28b6617
Ident::with_empty_ctxt
-> Ident::with_dummy_span
...
`Ident` has had a full span rather than just a `SyntaxContext` for a long time now.
2019-08-15 20:39:26 +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
a0c2c640d5
Fix rebase
2019-07-24 12:29:45 +03:00
Vadim Petrochenkov
bf8fc8adfc
syntax_ext: Improve and simplify code generated by #[global_allocator]
...
Instead of
```
mod allocator_abi { /* methods */ }
```
we now generate
```
const _: () = { /* methods */ }
```
and use `std_path` for paths referring to standard library entities.
This way we no longer need to generate `use` and `extern crate` imports, and `#[global_allocator]` starts working inside unnamed blocks.
2019-07-24 12:29:45 +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
433024147a
syntax_ext: Turn #[global_allocator]
into a regular attribute macro
2019-07-24 12:29:44 +03:00
Vadim Petrochenkov
a93fdfedf3
Merge rustc_allocator
into libsyntax_ext
2019-07-24 12:27:58 +03:00