about summary refs log tree commit diff
path: root/compiler/rustc_passes/src/lib_features.rs
AgeCommit message (Collapse)AuthorLines
2025-07-31remove rustc_attr_data_structuresJana Dönszelmann-2/+2
2025-07-17Include ErrorGuaranteed in StableSince::Err.Camille GILLOT-1/+1
2025-06-12Tracking the old name of renamed unstable library attributexizheyin-4/+4
Signed-off-by: xizheyin <xizheyin@smail.nju.edu.cn>
2025-05-09don't depend on rustc_attr_parsing if rustc_data_structures will domejrs-1/+1
2025-02-24Introduce new-style attribute parsers for several attributesJana Dönszelmann-60/+23
note: compiler compiles but librustdoc and clippy don't
2025-02-24Change span field accesses to method callsJana Dönszelmann-2/+6
2025-02-18Move methods from `Map` to `TyCtxt`, part 2.Nicholas Nethercote-1/+1
Continuing the work started in #136466. Every method gains a `hir_` prefix, though for the ones that already have a `par_` or `try_par_` prefix I added the `hir_` after that.
2025-02-17Overhaul the `intravisit::Map` trait.Nicholas Nethercote-2/+2
First of all, note that `Map` has three different relevant meanings. - The `intravisit::Map` trait. - The `map::Map` struct. - The `NestedFilter::Map` associated type. The `intravisit::Map` trait is impl'd twice. - For `!`, where the methods are all unreachable. - For `map::Map`, which gets HIR stuff from the `TyCtxt`. As part of getting rid of `map::Map`, this commit changes `impl intravisit::Map for map::Map` to `impl intravisit::Map for TyCtxt`. It's fairly straightforward except various things are renamed, because the existing names would no longer have made sense. - `trait intravisit::Map` becomes `trait intravisit::HirTyCtxt`, so named because it gets some HIR stuff from a `TyCtxt`. - `NestedFilter::Map` assoc type becomes `NestedFilter::MaybeTyCtxt`, because it's always `!` or `TyCtxt`. - `Visitor::nested_visit_map` becomes `Visitor::maybe_tcx`. I deliberately made the new trait and associated type names different to avoid the old `type Map: Map` situation, which I found confusing. We now have `type MaybeTyCtxt: HirTyCtxt`.
2024-12-18Re-export more `rustc_span::symbol` things from `rustc_span`.Nicholas Nethercote-2/+1
`rustc_span::symbol` defines some things that are re-exported from `rustc_span`, such as `Symbol` and `sym`. But it doesn't re-export some closely related things such as `Ident` and `kw`. So you can do `use rustc_span::{Symbol, sym}` but you have to do `use rustc_span::symbol::{Ident, kw}`, which is inconsistent for no good reason. This commit re-exports `Ident`, `kw`, and `MacroRulesNormalizedIdent`, and changes many `rustc_span::symbol::` qualifiers in `compiler/` to `rustc_span::`. This is a 200+ net line of code reduction, mostly because many files with two `use rustc_span` items can be reduced to one.
2024-12-16rename rustc_attr to rustc_attr_parsing and create rustc_attr_data_structuresJonathan Dönszelmann-1/+1
2024-12-15Add hir::AttributeJonathan Dönszelmann-1/+1
2024-10-23nightly feature tracking: get rid of the per-feature bool fieldsRalf Jung-1/+1
2024-09-22Reformat using the new identifier sorting from rustfmtMichael Goulet-1/+1
2024-08-29Add `warn(unreachable_pub)` to `rustc_passes`.Nicholas Nethercote-2/+2
2023-12-24Remove `Session` methods that duplicate `DiagCtxt` methods.Nicholas Nethercote-3/+8
Also add some `dcx` methods to types that wrap `TyCtxt`, for easier access.
2023-11-20Store feature stability un-splitMichael Goulet-21/+15
2023-11-20Unify defined_lib_features and lib_features queriesMichael Goulet-31/+36
2023-10-26Pre-intern a symbol for env!("CFG_RELEASE")David Tolnay-2/+2
2023-10-13Format all the let chains in compilerMichael Goulet-1/+3
2023-05-15Move expansion of query macros in rustc_middle to rustc_middle::queryJohn Kåre Alsaker-1/+1
2023-02-01ast: Optimize list and value extraction primitives for attributesVadim Petrochenkov-3/+2
It's not necessary to convert the whole attribute into a meta item to extract something specific
2023-01-14fix: don't emit `E0711` if `staged_api` not enabledEzra Shaw-0/+6
2022-10-07migrate lib_features.rs to translateable diagnosticsNathan Stocks-20/+14
2022-09-14Also replace the placeholder for the stable_features lintest31-4/+2
2022-09-02Also replace the version placeholder in rustc_attrest31-1/+1
This fixes rustdoc not showing the current version as stabilization version for recently stabilized lang features.
2022-08-27Expand the version placeholder to the current version in stability attribute ↵est31-0/+8
parsing That way, the current version is shown in rustdoc etc.
2022-07-26Collect features from `#[rustc_default_body_unstable]`Maybe Waffle-5/+14
2022-07-20passes: check implied feature existsDavid Wood-4/+4
Add a check confirming that features referenced in `implied_by` meta items actually exist. Signed-off-by: David Wood <david.wood@huawei.com>
2022-07-20attr/passes: comment -> doc commentDavid Wood-5/+5
Change some regular comments into documentation comments. Signed-off-by: David Wood <david.wood@huawei.com>
2022-06-16Remove unused `hir_id` arg from `visit_attribute`.Nicholas Nethercote-1/+1
2022-03-31Handle rustc_const_stable attribute in library feature collectorDavid Tolnay-4/+7
2022-01-16Replace NestedVisitorMap with NestedFilterCameron Steffen-5/+5
2021-12-26Add Attribute::meta_kindJakub Beránek-3/+3
2021-12-15Remove `in_band_lifetimes` for `rustc_passes`Peter Jaszkowiak-2/+2
2021-11-28Remove eval_always for lib_features.Camille GILLOT-2/+2
2021-09-02Stop using walk_crate.Camille GILLOT-4/+2
2021-08-28Treat macros as HIR itemsinquisitivecrystal-3/+1
2021-08-21Remove `Session.used_attrs` and move logic to `CheckAttrVisitor`Aaron Hill-3/+1
Instead of updating global state to mark attributes as used, we now explicitly emit a warning when an attribute is used in an unsupported position. As a side effect, we are to emit more detailed warning messages (instead of just a generic "unused" message). `Session.check_name` is removed, since its only purpose was to mark the attribute as used. All of the callers are modified to use `Attribute.has_name` Additionally, `AttributeType::AssumedUsed` is removed - an 'assumed used' attribute is implemented by simply not performing any checks in `CheckAttrVisitor` for a particular attribute. We no longer emit unused attribute warnings for the `#[rustc_dummy]` attribute - it's an internal attribute used for tests, so it doesn't mark sense to treat it as 'unused'. With this commit, a large source of global untracked state is removed.
2021-05-12Use () for lang items.Camille GILLOT-6/+2
2021-03-09Track HirId when visiting attributes.Camille GILLOT-2/+2
2021-02-10Inherit `#[stable(..)]` annotations in enum variants and fields from its itemEsteban Küber-1/+1
2020-08-30mv compiler to compiler/mark-0/+145