| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2023-03-28 | effvis: Stop considering crate root its own parent | Vadim Petrochenkov | -7/+6 | |
| It helped to reuse `update_def` for the crate root, but it created confusion and caused some mistakes when I implemented #109500 | ||||
| 2023-03-28 | effvis: Merge two similar code paths | Vadim Petrochenkov | -34/+23 | |
| 2023-03-20 | Lint ambiguous glob re-exports | 许杰友 Jieyou Xu (Joe) | -18/+50 | |
| 2023-03-02 | rustc_middle: Remove trait `DefIdTree` | Vadim Petrochenkov | -2/+2 | |
| 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-02-20 | Remove `ResolverTree` | Oli Scherer | -6/+2 | |
| 2023-02-20 | Remove IntoDefIdTree | Oli Scherer | -12/+7 | |
| 2023-02-20 | Stuff a TyCtxt into the Resolver | Oli Scherer | -1/+1 | |
| 2023-02-14 | Separate the lifetime of the session and the arena in the resolver | Oli Scherer | -8/+11 | |
| 2023-02-13 | rustdoc: Eliminate remaining uses of resolver | Vadim Petrochenkov | -2/+2 | |
| 2022-12-09 | Fold `Definitions` into the untracked data | Oli Scherer | -4/+1 | |
| 2022-12-09 | Move the untracked cstore and source_span into a struct | Oli Scherer | -1/+4 | |
| 2022-12-09 | Generate crate loaders on the fly | Oli Scherer | -1/+1 | |
| 2022-12-09 | ResolverTree does not require access to the crate loader, only the store | Oli Scherer | -1/+1 | |
| 2022-12-01 | rustc_ast_lowering: Stop lowering imports into multiple items | Vadim Petrochenkov | -23/+6 | |
| 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-11-24 | effective visibility: Stop recalculating current private visibility | Vadim Petrochenkov | -2/+16 | |
| It becomes relatively expensive if done often and shows up during perf profiling. | ||||
| 2022-11-24 | effective visibility: Always add table entries for nodes used as parents | Vadim Petrochenkov | -7/+14 | |
| Previously if the parent was not in the table, and there was nothing to inherit from, the child's private visibility was used, but that's not correct - the parent may have a larger visibility so we should set it to at least the parent's private visibility. That parent's private visibility is also inserted into the table for caching, so it's not recalculated later if used again. | ||||
| 2022-11-24 | effective visibility: Fix private visibility calculation for modules | Vadim Petrochenkov | -4/+6 | |
| Optimizations removed in the previous commit required this function to behave incorrectly, but now those optimizations are gone so we can fix the bug. Fixes https://github.com/rust-lang/rust/issues/104249 | ||||
| 2022-11-24 | effective visibility: Remove questionable optimizations | Vadim Petrochenkov | -30/+20 | |
| First, they require eagerly calculating private visibility (current normal module), which is somewhat expensive. Private visibilities are also lost once calculated, instead of being cached in the table. Second, I cannot prove that the optimizations are correct. Maybe they can be partially reinstated in the future in cases when it's cheap and provably correct to do them. They will also probably be merged into `fn update` in that case. Partially fixes https://github.com/rust-lang/rust/issues/104249 Fixes https://github.com/rust-lang/rust/issues/104539 | ||||
| 2022-11-24 | effective visibility: Satisfy borrow checker to use resolver lazily from a ↵ | Vadim Petrochenkov | -13/+26 | |
| closure | ||||
| 2022-11-13 | fix some typos in comments | cui fliter | -1/+1 | |
| Signed-off-by: cui fliter <imcusg@gmail.com> | ||||
| 2022-11-05 | resolve: Fill effective visibilities for import def ids in a separate pass | Vadim Petrochenkov | -32/+33 | |
| This should result in less update calls than doing it repeatedly during the fix point iteration. | ||||
| 2022-11-05 | resolve: More detailed effective visibility tracking for imports | Vadim Petrochenkov | -83/+122 | |
| Also drop `extern` blocks from the effective visibility table, they are nominally private and it doesn't make sense to keep them there. | ||||
| 2022-10-31 | resolve: Turn the binding from `#[macro_export]` into a proper `Import` | Vadim Petrochenkov | -7/+5 | |
| 2022-10-31 | resolve: Not all imports have their own `NodeId` | Vadim Petrochenkov | -17/+31 | |
| 2022-10-26 | privacy: Rename "accessibility levels" to "effective visibilities" | Vadim Petrochenkov | -0/+188 | |
| And a couple of other naming tweaks Related to https://github.com/rust-lang/rust/issues/48054 | ||||
