mirror of
https://github.com/rust-lang/rust.git
synced 2025-06-05 19:58:32 +00:00
![]() Make lowering a query Split from https://github.com/rust-lang/rust/pull/88186. This PR refactors the relationship between lowering and the resolver outputs in order to make lowering itself a query. In a first part, lowering is changed to avoid modifying resolver outputs, by maintaining its own data structures for creating new `NodeId`s and so. Then, the `TyCtxt` is modified to allow creating new `LocalDefId`s from inside it. This is done by: - enclosing `Definitions` in a lock, so as to allow modification; - creating a query `register_def` whose purpose is to declare a `LocalDefId` to the query system. See `TyCtxt::create_def` and `TyCtxt::iter_local_def_id` for more detailed explanations of the design. |
||
---|---|---|
.. | ||
test_macros | ||
counters.rs | ||
debug.rs | ||
graph.rs | ||
mod.rs | ||
query.rs | ||
spans.rs | ||
tests.rs |