about summary refs log tree commit diff
path: root/src/libsyntax/attr
AgeCommit message (Collapse)AuthorLines
2019-08-27Cleanup: Consistently use `Param` instead of `Arg` #62426Kevin Per-1/+1
2019-08-15`Ident::with_empty_ctxt` -> `Ident::with_dummy_span`Vadim Petrochenkov-2/+2
`Ident` has had a full span rather than just a `SyntaxContext` for a long time now.
2019-08-15Remove `Spanned` from `mk_name_value_item_str` and `expr_to_spanned_string`Vadim Petrochenkov-5/+7
2019-08-14Merge Variant and Variant_Caio-1/+1
2019-08-05Make mk_attr_id private to libsyntaxMark Rousskov-1/+1
2019-08-05Drop explicit span argument from mk_name_value_itemMark Rousskov-2/+3
2019-08-05Drop span argument from mk_list_itemMark Rousskov-2/+2
2019-07-31Replace AstBuilder with inherent methodsMark Rousskov-1/+0
2019-07-31Remove span argument from mk_attr_{inner,outer}Mark Rousskov-4/+4
Always the same as the passed MetaItem
2019-07-31Remove Span argument from ExtCtxt::attributeMark Rousskov-1/+1
MetaItem.span was always equivalent
2019-07-31Remove AttrId from Attribute constructorsMark Rousskov-14/+16
2019-07-31Unify spanned and non-spanned Attribute ctorsMark Rousskov-14/+4
There is no difference in the code/arguments, so go with the shorter name throughout the code.
2019-07-25Rollup merge of #62735 - petrochenkov:galloc, r=alexcrichtonMazdak Farrokhzad-0/+97
Turn `#[global_allocator]` into a regular attribute macro It was a 99% macro with exception of some diagnostic details. As a result of the change, `#[global_allocator]` now works in nested modules and even in nameless blocks. Fixes https://github.com/rust-lang/rust/issues/44113 Fixes https://github.com/rust-lang/rust/issues/58072
2019-07-24Demote template check error to a lint for `#[test]` and `#[bench]`Vadim Petrochenkov-1/+2
2019-07-24syntax_ext: Reuse built-in attribute template checking for macro attributesVadim Petrochenkov-0/+96
2019-07-23Normalize use of backticks in compiler messages for libsyntax/*Samy Kacimi-2/+2
https://github.com/rust-lang/rust/issues/60532
2019-07-07syntax: Migrate built-in macros to the regular stability checkingVadim Petrochenkov-0/+13
2019-07-07syntax: Keep full `Stability` in `SyntaxExtension`Vadim Petrochenkov-1/+2
2019-07-06privacy: Only opaque macros leak private thingsVadim Petrochenkov-5/+34
2019-07-05Rollup merge of #61545 - flip1995:internal_lints, r=oli-obkMazdak Farrokhzad-1/+1
Implement another internal lints cc #49509 This adds ~~two~~ one internal lint~~s~~: 1. LINT_PASS_IMPL_WITHOUT_MACRO: Make sure, that the `{declare,impl}_lint_pass` macro is used to implement lint passes. cc #59669 2. ~~USAGE_OF_TYCTXT_AND_SPAN_ARGS: item 2 on the list in #49509~~ ~~With 2. I wasn't sure, if this lint should be applied everywhere. That means a careful review of 0955835 would be great. Also 73fb9b4 allows this lint on some functions. Should I also apply this lint there?~~ TODO (not directly relevant for review): - [ ] https://github.com/rust-lang/rust/pull/59316#discussion_r280186517 (not sure yet, if this works or how to query for `rustc_private`, since it's not in [`Features`](https://doc.rust-lang.org/nightly/nightly-rustc/syntax/feature_gate/struct.Features.html) :thinking: cc @eddyb) - [x] https://github.com/rust-lang/rust/pull/61735#discussion_r292389870 - [x] Check explicitly for the `{declare,impl}_lint_pass!` macros r? @oli-obk
2019-07-03Remove needless lifetimesJeremy Stucki-3/+3
2019-06-24Use symbols in lint tool listflip1995-1/+1
2019-06-24Turn internal lints into tool lintsflip1995-1/+1
2019-06-12Auto merge of #60669 - c410-f3r:attrs-fn, r=petrochenkovbors-1/+1
Allow attributes in formal function parameters Implements https://github.com/rust-lang/rust/issues/60406. This is my first contribution to the compiler and since this is a large and complex project, I am not fully aware of the consequences of the changes I have made. **TODO** - [x] Forbid some built-in attributes. - [x] Expand cfg/cfg_attr
2019-06-09Allow attributes in formal function parametersCaio-1/+1
2019-06-08syntax: Move most of the `TokenKind` methods to `Token`Vadim Petrochenkov-3/+2
2019-06-07parser: `self.span` -> `self.token.span`Vadim Petrochenkov-2/+2
2019-06-06Some code cleanup and tidy/test fixesVadim Petrochenkov-3/+6
2019-06-06syntax: Switch function parameter order in `TokenTree::token`Vadim Petrochenkov-5/+5
2019-06-06syntax: Use `Token` in some more placesVadim Petrochenkov-2/+2
2019-06-06syntax: Remove duplicate span from `token::Ident`Vadim Petrochenkov-5/+5
2019-06-06syntax: Add some helper methods to `Token`Vadim Petrochenkov-2/+2
2019-06-06syntax: Use `Token` in `TokenTree::Token`Vadim Petrochenkov-19/+18
2019-06-06syntax: Rename `Token` into `TokenKind`Vadim Petrochenkov-2/+2
2019-06-06Always use token kinds through `token` module rather than `Token` typeVadim Petrochenkov-11/+11
2019-05-31Remove GlobalArenas and use Arena insteadJohn Kåre Alsaker-3/+3
2019-05-25Reword malformed attribute input diagnosticsEsteban Küber-1/+9
- Handle empty `cfg_attr` attribute - Reword empty `derive` attribute error - Use consistend error message: "malformed `attrname` attribute input" - Provide suggestions when possible - Move note/help to label/suggestion - Use consistent wording "ill-formed" -> "malformed" - Move diagnostic logic out of parser
2019-05-24Tweak macro parse errors when reaching EOF during macro call parseEsteban Küber-1/+8
- Add detail on origin of current parser when reaching EOF and stop saying "found <eof>" and point at the end of macro calls - Handle empty `cfg_attr` attribute - Reword empty `derive` attribute error
2019-05-23syntax: Return named errors from literal parsing functionsVadim Petrochenkov-2/+2
2019-05-22Restore the old behavior of the rustdoc keyword check + Fix rebaseVadim Petrochenkov-2/+2
2019-05-22Simplify use of keyword symbolsVadim Petrochenkov-4/+4
2019-05-17Avoid unnecessary interning in `Ident::from_str()` calls.Nicholas Nethercote-3/+3
A lot of these static symbols are pre-interned.
2019-05-13Return a `Symbol` from `name_or_empty` functions.Nicholas Nethercote-49/+46
2019-05-13Remove the equality operation between `Symbol` and strings.Nicholas Nethercote-11/+11
And also the equality between `Path` and strings, because `Path` is made up of `Symbol`s.
2019-05-13Pass a `Symbol` to `check_name`, `emit_feature_err`, and related functions.Nicholas Nethercote-26/+17
2019-05-11Move literal parsing code into a separate fileVadim Petrochenkov-99/+0
Remove some dead code
2019-05-11Simplify conversions between tokens and semantic literalsVadim Petrochenkov-46/+58
2019-05-11Eliminate `comments::Literal`Vadim Petrochenkov-3/+4
2019-05-11Keep the original token in `ast::Lit`Vadim Petrochenkov-25/+37
2019-05-11Turn `ast::Lit` into a structVadim Petrochenkov-6/+6