Vadim Petrochenkov
18b59f5d6d
resolve: Minor cleanup to Resolver::get_module
2023-03-16 17:22:18 +04:00
Vadim Petrochenkov
52c73975b4
resolve: Use item_name and opt_parent in Resolver::get_module
...
This is a cleanup that doesn't introduce new query calls, but this way `def_key` is decoded twice which may matter for performance or may not
2023-03-16 17:22:18 +04:00
Vadim Petrochenkov
b3ee735993
resolve: Remove struct_field_names_untracked
2023-03-13 17:31:55 +04:00
Vadim Petrochenkov
2a716f3563
resolve: Centralize retrieval of items span and item name
2023-03-13 17:31:54 +04:00
Vadim Petrochenkov
c7f424b80a
resolve: Remove fn_has_self_parameter_untracked
2023-03-13 17:31:54 +04:00
Vadim Petrochenkov
c05b7bd7d0
resolve: Remove struct_field_visibilities_untracked
2023-03-13 17:31:54 +04:00
Vadim Petrochenkov
17127f3e78
resolve: Remove visibility_untracked
2023-03-13 17:31:54 +04:00
Vadim Petrochenkov
c83553da31
rustc_middle: Remove trait DefIdTree
...
This trait was a way to generalize over both `TyCtxt` and `Resolver`, but now `Resolver` has access to `TyCtxt`, so this trait is no longer necessary.
2023-03-02 23:46:44 +04:00
Oli Scherer
1202fce40e
Remove definitions field that is only needed for one method
2023-02-20 15:28:59 +00:00
Oli Scherer
ade3dceb38
Make untracked.cstore lockable so that resolution can still write to it when using TyCtxt
2023-02-20 15:28:58 +00:00
Oli Scherer
e8e227aec8
Prepare crate loader for LockGuard
2023-02-20 10:49:42 +00:00
Oli Scherer
d191de63f0
Prepare for adding a TyCtxt to Resolver
2023-02-20 10:38:48 +00:00
bors
2d14db321b
Auto merge of #108006 - cjgillot:def-impl, r=oli-obk
...
Avoid accessing HIR when it can be avoided
Experiment to see if it helps some incremental cases.
Will be rebased once https://github.com/rust-lang/rust/pull/107942 gets merged.
r? `@ghost`
2023-02-15 16:14:10 +00:00
Camille GILLOT
03dff82d59
Add of_trait to DefKind::Impl.
2023-02-14 19:55:44 +00:00
Oli Scherer
43a5cc383d
Separate the lifetime of the session and the arena in the resolver
2023-02-14 10:01:25 +00:00
Vadim Petrochenkov
9080b79f2b
rustdoc: Eliminate remaining uses of resolver
2023-02-13 00:10:15 +04:00
Vadim Petrochenkov
b62b82aef4
Resolve documentation links in rustc and store the results in metadata
...
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.
2023-02-10 09:34:13 +04:00
Maybe Waffle
9fe8ae792e
Rename rust_2015 => is_rust_2015
2023-02-02 08:17:13 +00:00
Maybe Waffle
fd649a3cc5
Replace enum ==s with matches where it makes sense
2023-01-30 12:26:26 +00:00
Esteban Küber
41e66d9025
review comments: Tweak output
...
* Account for `struct S(pub(super)Ty);` in suggestion
* Suggest changing field visibility in E0603 too
2023-01-11 21:36:02 +00:00
Esteban Küber
ad13d9fbbe
Suggest making private tuple struct field public
...
Fix #52144 .
2023-01-11 21:35:42 +00:00
Albert Larsan
40ba0e84d5
Change src/test to tests in source files, fix tidy and tests
2023-01-11 09:32:13 +00:00
Matthias Krüger
a108d55ce6
don't restuct references just to reborrow
2022-12-18 17:04:32 +01:00
Oli Scherer
75ff5c7dd3
Fold Definitions into the untracked data
2022-12-09 14:59:39 +00:00
Oli Scherer
2cd36f2c89
Generate crate loaders on the fly
2022-12-09 14:53:23 +00:00
Vadim Petrochenkov
b32a4edb20
rustc_ast_lowering: Stop lowering imports into multiple items
...
Lower them into a single item with multiple resolutions instead.
This also allows to remove additional `NodId`s and `DefId`s related to those additional items.
2022-12-01 18:51:20 +03:00
bors
f8a2e491eb
Auto merge of #104730 - petrochenkov:modchild5, r=cjgillot
...
rustc_metadata: Switch module children decoding to an iterator
Previously https://github.com/rust-lang/rust/pull/103578 , https://github.com/rust-lang/rust/pull/103524 and previous PRs simplified it as much as possible.
A couple of cleanup commits is also added.
r? `@cjgillot`
2022-11-26 05:41:34 +00:00
Vadim Petrochenkov
5fc359f1ef
resolve: Don't use constructor def ids in the map for field names
...
Also do some minor cleanup to insertion of those field names
2022-11-23 00:53:50 +03:00
Vadim Petrochenkov
6a233b5e2a
rustc_metadata: Switch module children decoding to an iterator
2022-11-22 20:43:48 +03:00
Vadim Petrochenkov
7a5376d23c
Unreserve braced enum variants in value namespace
2022-11-21 22:40:06 +03:00
SparkyPotato
c7b2891315
move span to self instead of crate
2022-11-13 13:46:11 +05:30
Vadim Petrochenkov
84317518ff
resolve: Turn the binding from #[macro_export] into a proper Import
2022-10-31 21:25:00 +04:00
Vadim Petrochenkov
637bfe68a1
resolve: Not all imports have their own NodeId
2022-10-31 20:25:27 +04:00
Vadim Petrochenkov
1a8f177772
rustc_hir: Less error-prone methods for accessing PartialRes resolution
2022-10-11 09:04:52 +04:00
Michael Goulet
d3bd6beb97
Rename AssocItemKind::TyAlias to AssocItemKind::Type
2022-10-10 02:31:37 +00:00
Nicholas Nethercote
f07d4efc45
Shrink hir::def::Res.
...
`Res::SelfTy` currently has two `Option`s. When the second one is `Some`
the first one is never consulted. So we can split it into two variants,
`Res::SelfTyParam` and `Res::SelfTyAlias`, reducing the size of `Res`
from 24 bytes to 12. This then shrinks `hir::Path` and
`hir::PathSegment`, which are the HIR types that take up the most space.
2022-09-29 08:44:52 +10:00
Michael Goulet
78b962a4f3
RPITIT placeholder items
2022-09-09 01:31:44 +00:00
Vadim Petrochenkov
d8d3b83e3a
rustc: Parameterize ty::Visibility over used ID
...
It allows using `LocalDefId` instead of `DefId` when possible, and also encode cheaper `Visibility<DefIndex>` into metadata.
2022-09-07 13:35:41 +04:00
bors
2e35f954ad
Auto merge of #98960 - cjgillot:entry-kind, r=estebank
...
Remove EntryKind from metadata.
This PR continues the refactor of metadata emission to be more systematic, iterating on definitions and filtering based on each definition's `DefKind`. This allows to remove the large `EntryKind` enum, replaced by linear tables in metadata.
2022-09-01 19:31:14 +00:00
Oli Scherer
ee3c835018
Always import all tracing macros for the entire crate instead of piecemeal by module
2022-09-01 14:54:27 +00:00
Camille GILLOT
b94d421d08
Remove fn_has_self_parameter table.
2022-08-30 19:06:30 +02:00
Vadim Petrochenkov
fc3f3c304b
rustc_middle: Remove Visibility::Invisible
2022-08-27 22:34:18 +03:00
Camille GILLOT
9450f822fb
Unused tuple fields in rustc_resolve.
2022-07-25 19:45:26 +02:00
bors
3a8b0144c8
Auto merge of #98106 - cjgillot:split-definitions, r=michaelwoerister
...
Split up `Definitions` and `ResolverAstLowering`.
Split off https://github.com/rust-lang/rust/pull/95573
r? `@michaelwoerister`
2022-06-17 10:00:11 +00:00
Camille GILLOT
603746a35e
Make ResolverAstLowering a struct.
2022-06-14 22:44:27 +02:00
Takayuki Maeda
0d24405211
implement MacroData
2022-06-15 00:31:21 +09:00
est31
eb3c611e1d
Never regard macro rules with compile_error! invocations as unused
...
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-09 23:21:06 +02:00
Jacob Pratt
7b987e34c0
Merge crate and restricted visibilities
2022-05-21 17:02:55 -04:00
Jacob Pratt
8cece636b2
Remove feature: crate visibility modifier
2022-05-21 14:22:06 -04:00
Jacob Pratt
49c82f31a8
Remove crate visibility usage in compiler
2022-05-20 20:04:54 -04:00