about summary refs log tree commit diff
path: root/src/libsyntax/attr
AgeCommit message (Collapse)AuthorLines
2020-02-29Move directory `libsyntax` -> `librustc_ast`Vadim Petrochenkov-727/+0
2020-02-27don't use .into() to convert types into identical types.Matthias Krüger-1/+1
example: let s: String = format!("hello").into();
2020-02-24ast: add `Defaultness` to `Item`, making `AssocItem` an alias.Mazdak Farrokhzad-1/+1
2020-02-011. move allow_internal_unstable to rustc_attrMazdak Farrokhzad-24/+0
2. as a result, drop rustc_errors dep from syntax
2020-02-01Move builtin attribute logic to new rustc_attr crate.Mazdak Farrokhzad-1052/+0
For now, this is all the crate contains, but more attribute logic & types will be moved there over time.
2020-02-01syntax: simplify HasAttrs codeMazdak Farrokhzad-21/+11
2020-02-01syntax: move GLOBALS to attr moduleMazdak Farrokhzad-3/+34
2020-01-30clarify "incorrect issue" errorAndy Russell-21/+34
2020-01-18remove rustc_error_codes deps except in rustc_driverMazdak Farrokhzad-2/+0
2020-01-11gating diagnostics -> rustc_session::parseMazdak Farrokhzad-2/+1
2020-01-10nix syntax::errors & prefer rustc_errors over errorsMazdak Farrokhzad-2/+2
2020-01-08- remove syntax::{span_warn!, span_err!, span_fatal!. struct_err!}Mazdak Farrokhzad-24/+49
- 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-02Normalize `syntax::symbol` imports.Mazdak Farrokhzad-2/+2
2020-01-02Normalize `syntax::source_map` imports.Mazdak Farrokhzad-1/+1
2020-01-01Rename `syntax_pos` to `rustc_span` in source codeVadim Petrochenkov-3/+3
2019-12-28doc comments: Less attribute mimickingVadim Petrochenkov-9/+17
2019-12-22Format the worldMark Rousskov-306/+343
2019-12-22Rollup merge of #67480 - rossmacarthur:fix-41260-avoid-issue-0-part-2, r=CentrilMazdak Farrokhzad-3/+3
Require issue = "none" over issue = "0" in unstable attributes These changes make the use of `issue = "none"` required in unstable attributes throughout the compiler. Notes: - #66299 is now in beta so `issue = "none"` is accepted. - The `tidy` tool now fails on `issue = "0"`. - Tests that used `issue = "0"` were changed to use `issue = "none"`, except for _one_ that asserts `issue = "0"` can still be used. - The compiler still allows `issue = "0"` because some submodules require it, this could be disallowed once these are updated. Resolves #41260 r? @varkor
2019-12-21Require issue = "none" over issue = "0" in unstable attributesRoss MacArthur-3/+3
2019-12-20introduce 'type AttrVec'Mazdak Farrokhzad-3/+2
2019-12-20Rollup merge of #67131 - Centril:item-merge, r=petrochenkovMazdak Farrokhzad-1/+1
Merge `TraitItem` & `ImplItem into `AssocItem` In this PR we: - Merge `{Trait,Impl}Item{Kind?}` into `AssocItem{Kind?}` as discussed in https://github.com/rust-lang/rust/issues/65041#issuecomment-538105286. - This is done by using the cover grammar of both forms. - In particular, it requires that we syntactically allow (under `#[cfg(FALSE)]`): - `default`ness on `trait` items, - `impl` items without a body / definition (`const`, `type`, and `fn`), - and associated `type`s in `impl`s with bounds, e.g., `type Foo: Ord;`. - The syntactic restrictions are replaced by semantic ones in `ast_validation`. - Move syntactic restrictions around C-variadic parameters from the parser into `ast_validation`: - `fn`s in all contexts now syntactically allow `...`, - `...` can occur anywhere in the list syntactically (`fn foo(..., x: usize) {}`), - and `...` can be the sole parameter (`fn foo(...) {}`. r? @petrochenkov
2019-12-13Require stable/unstable annotations for the constness of all stable ↵Oliver Scherer-62/+63
functions with a `const` modifier
2019-12-12Unify `{Impl,Trait}Item` as `AssocItem`.Mazdak Farrokhzad-1/+1
2019-12-02syntax: Optimize conversion `AttrItem` -> `MetaItem` by avoiding `outer_tokens`.Vadim Petrochenkov-29/+44
2019-12-02syntax: Use `ast::MacArgs` for attributesVadim Petrochenkov-15/+27
2019-11-30move GateIssue to rustc_feature & simplify emit_feature_errMazdak Farrokhzad-2/+2
2019-11-30builtin_attrs.rs -> rustc_featureMazdak Farrokhzad-6/+3
2019-11-30move is_builtin_attr to syntax::attrMazdak Farrokhzad-0/+6
2019-11-30simplify gated cfgs logicMazdak Farrokhzad-7/+17
2019-11-30move AttributeTemplate to builtin_attrsMazdak Farrokhzad-25/+0
2019-11-30introduce crate rustc_feature and move active, accepted, and removed to itMazdak Farrokhzad-1/+2
2019-11-17Remove extern crate.Camille GILLOT-0/+1
2019-11-17Further HashStable_Generic derives.Camille GILLOT-4/+7
2019-11-17Use proc_macro for HashStable derive in libsyntax.Camille GILLOT-1/+1
2019-11-17Rollup merge of #66381 - Centril:66340, r=petrochenkovYuki Okushi-1/+4
find_deprecation: deprecation attr may be ill-formed meta. Fixes #66340. r? @petrochenkov cc @pnkfelix
2019-11-15find_deprecation: deprecation attr may be ill-formed meta.Mazdak Farrokhzad-1/+4
2019-11-14Update to use new librustc_error_codes libraryGuillaume Gomez-0/+2
2019-11-11support issue = "none" in unstable attributesRoss MacArthur-10/+21
- Use `Option<NonZeroU32>` to represent issue numbers.
2019-11-10move syntax::parse -> librustc_parseMazdak Farrokhzad-4/+4
also move MACRO_ARGUMENTS -> librustc_parse
2019-11-10move config.rs to libsyntax_expandMazdak Farrokhzad-1/+5
2019-11-09move attr meta grammar to parse::validate_atr + ast_validationMazdak Farrokhzad-87/+1
2019-11-07syntax::attr: remove usage of lexerMazdak Farrokhzad-3/+2
2019-11-07move PResult to librustc_errorsMazdak Farrokhzad-1/+2
2019-11-07syntax::parser::token -> syntax::tokenMazdak Farrokhzad-1/+1
2019-11-06Make doc comments cheaper with `AttrKind`.Nicholas Nethercote-35/+83
`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-06Remove unnecessary `Deref` impl for `Attribute`.Nicholas Nethercote-9/+9
This kind of thing just makes the code harder to read.
2019-10-27syntax/attr: reduce reliance on parserMazdak Farrokhzad-27/+2
2019-10-25move Attribute::with_desugared_doc to librustdocMazdak Farrokhzad-27/+2
2019-10-21Remove many unnecessary trait derivations.Nicholas Nethercote-5/+4
2019-10-18Change `MetaItem::tokens()` to `MetaItem::token_trees_and_joints()`.Nicholas Nethercote-17/+26
Likewise for `NestedMetaItem::tokens()`. Also, add `MetaItemKind::token_trees_and_joints()`, which `MetaItemKind::tokens()` now calls. This avoids some unnecessary `TokenTree` to `TokenStream` conversions, and removes the need for the clumsy `TokenStream::append_to_tree_and_joint_vec()`.