about summary refs log tree commit diff
path: root/compiler/rustc_resolve/src/macros.rs
AgeCommit message (Collapse)AuthorLines
2023-03-23rustc_interface: Add a new query `pre_configure`Vadim Petrochenkov-2/+2
It partially expands crate attributes before the main expansion pass (without modifying the crate), and the produced preliminary crate attribute list is used for querying a few attributes that are required very early. Crate-level cfg attributes are then expanded normally during the main expansion pass, like attributes on any other nodes.
2023-03-23Auto merge of #109503 - matthiaskrgr:rollup-cnp7kdd, r=matthiaskrgrbors-2/+2
Rollup of 9 pull requests Successful merges: - #108954 (rustdoc: handle generics better when matching notable traits) - #109203 (refactor/feat: refactor identifier parsing a bit) - #109213 (Eagerly intern and check CrateNum/StableCrateId collisions) - #109358 (rustc: Remove unused `Session` argument from some attribute functions) - #109359 (Update stdarch) - #109378 (Remove Ty::is_region_ptr) - #109423 (Use region-erased self type during IAT selection) - #109447 (new solver cleanup + implement coherence) - #109501 (make link clickable) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
2023-03-22More general capturesest31-1/+1
This avoids repetition
2023-03-22rustc: Remove unused `Session` argument from some attribute functionsVadim Petrochenkov-2/+2
2023-03-06Querify registered_tools.Camille GILLOT-7/+11
2023-02-22resolve: Remove `ImportResolver`Vadim Petrochenkov-2/+1
It's a trivial wrapper over `Resolver` that doesn't bring any benefits
2023-02-20Remove a redundant function argumentOli Scherer-6/+1
2023-02-20Prepare for adding a `TyCtxt` to `Resolver`Oli Scherer-23/+30
2023-02-14Separate the lifetime of the session and the arena in the resolverOli Scherer-2/+2
2023-02-13rustdoc: Eliminate remaining uses of resolverVadim Petrochenkov-2/+2
2023-02-10Resolve documentation links in rustc and store the results in metadataVadim Petrochenkov-1/+1
This commit implements MCP https://github.com/rust-lang/compiler-team/issues/584 It also removes code that is no longer used, and that includes code cloning resolver, so issue #83761 is fixed.
2022-12-09Move the untracked cstore and source_span into a structOli Scherer-1/+1
2022-12-09Generate crate loaders on the flyOli Scherer-1/+1
2022-11-12Rollup merge of #102049 - fee1-dead-contrib:derive_const, r=oli-obkDylan DPC-1/+1
Add the `#[derive_const]` attribute Closes #102371. This is a minimal patchset for the attribute to work. There are no restrictions on what traits this attribute applies to. r? `````@oli-obk`````
2022-10-20fix span for suggestionyukang-13/+7
2022-10-20fix #103112, add diagnostic for calling a function with the same name when a ↵yukang-2/+20
Macro is not found
2022-10-11rustc_hir: Less error-prone methods for accessing `PartialRes` resolutionVadim Petrochenkov-6/+3
2022-09-20Add the `#[derive_const]` attributeDeadbeef-1/+1
2022-08-31Fix a bunch of typoDezhi Wu-1/+1
This PR will fix some typos detected by [typos]. I only picked the ones I was sure were spelling errors to fix, mostly in the comments. [typos]: https://github.com/crate-ci/typos
2022-08-28Remove `register_attr` featureYuki Okushi-22/+7
Signed-off-by: Yuki Okushi <jtitor@2k36.org>
2022-07-21avoid embedding StabilityLevel::Unstable reason string into metadata ↵klensy-1/+1
multiple times
2022-07-20middle: add `implies_by` to `#[unstable]`David Wood-2/+9
If part of a feature is stabilized and a new feature is added for the remaining parts, then the `implied_by` attribute can be used to indicate which now-stable feature previously contained a item. If the now-stable feature is still active (if the user has only just updated rustc, for example) then there will not be an stability error for uses of the item from the implied feature. Signed-off-by: David Wood <david.wood@huawei.com>
2022-07-18avoid `Symbol` to `&str` conversionsTakayuki Maeda-2/+2
2022-06-17Auto merge of #98106 - cjgillot:split-definitions, r=michaelwoeristerbors-1/+0
Split up `Definitions` and `ResolverAstLowering`. Split off https://github.com/rust-lang/rust/pull/95573 r? `@michaelwoerister`
2022-06-14Make ResolverAstLowering a struct.Camille GILLOT-1/+0
2022-06-15implement `MacroData`Takayuki Maeda-2/+2
2022-06-09Never regard macro rules with compile_error! invocations as unusedest31-1/+1
The very point of compile_error! is to never be reached, and one of the use cases of the macro, currently also listed as examples in the documentation of compile_error, is to create nicer errors for wrong macro invocations. Thus, we shuuld never warn about unused macro arms that contain invocations of compile_error.
2022-06-03Conservatively report "not sure" in cfg_accessibleUrgau-1/+3
2022-05-30Handle more cases in cfg_accessibleUrgau-8/+13
2022-05-20Remove `crate` visibility usage in compilerJacob Pratt-8/+11
2022-05-05Implement the unused_macro_rules lintest31-6/+35
2022-05-01resolve: Merge `last_import_segment` into `Finalize`Vadim Petrochenkov-3/+0
2022-05-01resolve: Pass full `Finalize` in nearly all casesVadim Petrochenkov-2/+2
2022-05-01resolve: Turn `enum Finalize` into an optional structVadim Petrochenkov-1/+1
2022-04-12Pass last_import_segment and unusable_binding as parameters.Camille GILLOT-2/+9
2022-04-12Move ident resolution to a dedicated module.Camille GILLOT-362/+10
2022-03-30Spellchecking compiler commentsYuri Astrakhan-1/+1
This PR cleans up the rest of the spelling mistakes in the compiler comments. This PR does not change any literal or code spelling issues.
2022-03-25resolve: Rename `CrateLint` to `Finalize`Vadim Petrochenkov-10/+10
And `crate_lint`/`record_used` to `finalize`
2022-03-25resolve: Stop passing unused spans and node ids to path resolution functionsVadim Petrochenkov-30/+18
2022-03-25resolve: Do not build expensive suggestions if they are not actually usedVadim Petrochenkov-4/+2
Also remove a redundant parameter from `fn resolve_path(_with_ribs)`, `crate_lint: CrateLint` is a more detailed version of `record_used: bool` with `CrateLint::No` meaning `false` and anything else meaning `true`.
2022-02-24resolve: Fix incorrect results of `opt_def_kind` query for some built-in macrosVadim Petrochenkov-1/+7
Previously it always returned `MacroKind::Bang` while some of those macros are actually attributes and derives
2022-02-15Rename `PtrKey` as `Interned` and improve it.Nicholas Nethercote-2/+2
In particular, there's now more protection against incorrect usage, because you can only create one via `Interned::new_unchecked`, which makes it more obvious that you must be careful. There are also some tests.
2022-01-23rustc_lint: Reuse the set of registered tools from resolverVadim Petrochenkov-1/+5
2021-12-15Remove unnecessary sigils around `Ident::as_str()` calls.Nicholas Nethercote-1/+1
2021-11-24Suggestion to wrap inner types using `allocator_api` in tupleKen Matsui-0/+1
2021-11-11Shorten Span of unused macro lintsMarcel Hellwig-2/+7
The span has been recuded to the actual ident, instead of linting the *whole* macro.
2021-09-30Remove visible path calculation from allowed deprecation lintAlik Aslanyan-1/+1
2021-09-25Auto merge of #87220 - petrochenkov:derivecfglimit2, r=Aaron1011bors-32/+0
Make `#[derive(A, B, ...)]` cfg-eval its input only for `A, B, ...` and stabilize `feature(macro_attributes_in_derive_output)` Stabilization report: https://github.com/rust-lang/rust/pull/87220#issuecomment-881923657 Closes #81119 r? `@Aaron1011`
2021-09-24Stabilize `feature(macro_attributes_in_derive_output)`Vadim Petrochenkov-32/+0
2021-09-24resolve: Refactor obtaining `Module` from its `DefId`Vadim Petrochenkov-1/+1
The `Option<Module>` version is supported for the case where we don't know whether the `DefId` refers to a module or not. Non-local traits and enums are also correctly found now.