Mazdak Farrokhzad
2c3e5d3de0
- remove syntax::{span_warn!, span_err!, span_fatal!. struct_err!}
...
- remove syntax::{help!, span_help!, span_note!}
- remove unused syntax::{struct_span_fatal, struct_span_err_or_warn!, span_err_or_warn!}
- lintify check_for_bindings_named_same_as_variants + conflicting_repr_hints
- inline syntax::{struct_span_warn!, diagnostic_used!}
- stringify_error_code! -> error_code! & use it more.
- find_plugin_registrar: de-fatalize an error
- de-fatalize metadata errors
- move type_error_struct! to rustc_typeck
- struct_span_err! -> rustc_errors
2020-01-08 04:25:33 +01:00
Vadim Petrochenkov
70f1d57048
Rename `syntax_pos` to `rustc_span` in source code
2020-01-01 09:15:18 +03:00
Vadim Petrochenkov
3d57b8bcc0
doc comments: Less attribute mimicking
2019-12-28 12:33:18 +03:00
Mark Rousskov
a06baa56b9
Format the world
2019-12-22 17:42:47 -05:00
Ross MacArthur
f7256d28d1
Require issue = "none" over issue = "0" in unstable attributes
2019-12-21 13:16:18 +02:00
Oliver Scherer
5e17e39881
Require stable/unstable annotations for the constness of all stable functions with a `const` modifier
2019-12-13 11:27:02 +01:00
Mazdak Farrokhzad
79077f13ff
move GateIssue to rustc_feature & simplify emit_feature_err
2019-11-30 07:40:28 +01:00
Mazdak Farrokhzad
70234f16df
builtin_attrs.rs -> rustc_feature
2019-11-30 02:34:18 +01:00
Mazdak Farrokhzad
d04b838a44
move is_builtin_attr to syntax::attr
2019-11-30 02:20:07 +01:00
Mazdak Farrokhzad
6cab02cf14
simplify gated cfgs logic
2019-11-30 01:57:53 +01:00
Mazdak Farrokhzad
8ad4d15f38
move AttributeTemplate to builtin_attrs
2019-11-30 00:56:46 +01:00
Mazdak Farrokhzad
3d080a4a77
introduce crate rustc_feature and move active, accepted, and removed to it
2019-11-30 00:25:40 +01:00
Camille GILLOT
3d97a91e7f
Remove extern crate.
2019-11-17 22:37:16 +01:00
Camille GILLOT
efcb695f4c
Further HashStable_Generic derives.
2019-11-17 22:37:10 +01:00
Camille GILLOT
c2e1658c67
Use proc_macro for HashStable derive in libsyntax.
2019-11-17 22:37:08 +01:00
Yuki Okushi
842612fcc0
Rollup merge of #66381 - Centril:66340, r=petrochenkov
...
find_deprecation: deprecation attr may be ill-formed meta.
Fixes #66340 .
r? @petrochenkov
cc @pnkfelix
2019-11-17 13:36:15 +09:00
Mazdak Farrokhzad
91aadf0305
find_deprecation: deprecation attr may be ill-formed meta.
2019-11-15 13:24:06 +01:00
Guillaume Gomez
798e389e57
Update to use new librustc_error_codes library
2019-11-14 13:05:42 +01:00
Ross MacArthur
3ba8257253
support issue = "none" in unstable attributes
...
- Use `Option<NonZeroU32>` to represent issue numbers.
2019-11-11 19:33:30 +02:00
Mazdak Farrokhzad
4ae2728fa8
move syntax::parse -> librustc_parse
...
also move MACRO_ARGUMENTS -> librustc_parse
2019-11-10 03:57:18 +01:00
Mazdak Farrokhzad
5011ec7fed
move attr meta grammar to parse::validate_atr + ast_validation
2019-11-09 02:04:24 +01:00
Nicholas Nethercote
eea6f23a0e
Make doc comments cheaper with `AttrKind`.
...
`AttrKind` is a new type with two variants, `Normal` and `DocComment`. It's a
big performance win (over 10% in some cases) because `DocComment` lets doc
comments (which are common) be represented very cheaply.
`Attribute` gets some new helper methods to ease the transition:
- `has_name()`: check if the attribute name matches a single `Symbol`; for
`DocComment` variants it succeeds if the symbol is `sym::doc`.
- `is_doc_comment()`: check if it has a `DocComment` kind.
- `{get,unwrap}_normal_item()`: extract the item from a `Normal` variant;
panic otherwise.
Fixes #60935 .
2019-11-06 23:05:07 +11:00
Nicholas Nethercote
69bc4aba78
Remove unnecessary `Deref` impl for `Attribute`.
...
This kind of thing just makes the code harder to read.
2019-11-06 23:01:02 +11:00
Nicholas Nethercote
ac6daed384
Remove many unnecessary trait derivations.
2019-10-21 20:59:18 +11:00
Mazdak Farrokhzad
7ec38a9ae3
attr: remove dep on ExtCtxt
2019-10-16 10:59:53 +02:00
Mazdak Farrokhzad
ae156a56d4
syntax::parse::sess -> syntax::sess
2019-10-15 09:41:58 +02:00
Mazdak Farrokhzad
742ec4b9bf
ast: remove implicit pprust dependency via Display.
...
Instead just use `pprust::path_to_string(..)` where needed.
This has two benefits:
a) The AST definition is now independent of printing it.
(Therefore we get closer to extracting a data-crate.)
b) Debugging should be easier as program flow is clearer.
2019-10-13 06:58:51 +02:00
varkor
38121173e2
Rename `MetaItem.node` to `MetaItem.kind`
2019-09-26 18:21:48 +01:00
varkor
17726f6b52
Rename `Lit.node` to `Lit.kind`
2019-09-26 18:21:09 +01:00
Vadim Petrochenkov
f7434aef26
Support "soft" feature-gating using a lint
...
Use it for feature-gating `#[bench]`
2019-09-07 21:37:51 +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
6e4f16173c
Demote template check error to a lint for `#[test]` and `#[bench]`
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
1ee0ce82cb
syntax: Migrate built-in macros to the regular stability checking
2019-07-07 13:04:07 +03:00
Vadim Petrochenkov
3542995ff9
syntax: Keep full `Stability` in `SyntaxExtension`
2019-07-07 13:04:07 +03:00
Vadim Petrochenkov
920a17a60c
privacy: Only opaque macros leak private things
2019-07-06 16:59:08 +03:00
John Kåre Alsaker
6d387463aa
Remove GlobalArenas and use Arena instead
2019-05-31 09:44:37 +02:00
Esteban Küber
609ffa1a89
Reword malformed attribute input diagnostics
...
- 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-25 11:55:50 -07:00
Nicholas Nethercote
ea9fac5687
Return a `Symbol` from `name_or_empty` functions.
2019-05-13 09:31:32 +10:00
Nicholas Nethercote
999c1fc281
Remove the equality operation between `Symbol` and strings.
...
And also the equality between `Path` and strings, because `Path` is made
up of `Symbol`s.
2019-05-13 09:31: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
Taylor Cramer
e617025e96
Add rustc_allow_const_fn_ptr
2019-04-23 15:55:31 -07:00
Vadim Petrochenkov
db74efce69
Make meta-item API compatible with `LocalInternedString::get` soundness fix
2019-03-17 17:04:58 +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
Vadim Petrochenkov
63116d313d
Rename `MetaItem::ident` to `MetaItem::path`
2019-03-16 23:13:15 +03:00
Vadim Petrochenkov
8371caf5ee
syntax: Do not accidentally treat multi-segment meta-items as single-segment
2019-03-16 23:13:15 +03:00
Vadim Petrochenkov
b11502fbc0
Mention `unwind(aborts)` in diagnostics for `#[unwind]`
...
Simplify input validation for `#[unwind]`, add tests
2019-02-27 09:37:05 +03:00
Mazdak Farrokhzad
0bc8f6f3f4
Rollup merge of #58273 - taiki-e:rename-dependency, r=matthewjasper
...
Rename rustc_errors dependency in rust 2018 crates
I think this is a better solution than `use rustc_errors as errors` in `lib.rs` and `use crate::errors` in modules.
Related: rust-lang/cargo#5653
cc #58099
r? @Centril
2019-02-13 04:37:04 +01:00
Mazdak Farrokhzad
856e41142c
Rollup merge of #58166 - euclio:deprecation-shorthand, r=petrochenkov
...
allow shorthand syntax for deprecation reason
Fixes #48271 .
Created based on discussion in #56896 .
2019-02-13 04:37:02 +01:00