about summary refs log tree commit diff
path: root/compiler/rustc_middle/src/arena.rs
AgeCommit message (Collapse)AuthorLines
2023-12-12Make ConstKind and TyKind CopyMichael Goulet-4/+0
2023-11-22Cache flags for ty::ConstMichael Goulet-1/+1
2023-11-20Remove unused arena kinds in `rustc_hir` and `rustc_middle`.Nicholas Nethercote-16/+1
2023-11-02use global cache when computing proof treeslcnr-0/+1
2023-10-02Implement Deref<LayoutS> for LayoutLukas Wirth-1/+1
2023-08-13Remove metadata_loader querybjorn3-1/+0
It is only used by CrateLoader. We can store the metadata loader in CStore instead which CrateLoader has access to.
2023-08-11rustc: Move `features` from `Session` to `GlobalCtxt`Vadim Petrochenkov-0/+1
Removes two pieces of mutable state. Follow up to #114622.
2023-06-26Migrate predicates_of and caller_bounds to ClauseMichael Goulet-2/+2
2023-06-19Make closure_saved_names_of_captured_variables a query.Camille GILLOT-0/+5
2023-06-01Remember names of `cfg`-ed out items to mention them in diagnosticsNilstrieb-0/+1
`#[cfg]`s are frequently used to gate crate content behind cargo features. This can lead to very confusing errors when features are missing. For example, `serde` doesn't have the `derive` feature by default. Therefore, `serde::Serialize` fails to resolve with a generic error, even though the macro is present in the docs. This commit adds a list of all stripped item names to metadata. This is filled during macro expansion and then, through a fed query, persisted in metadata. The downstream resolver can then access the metadata to look at possible candidates for mentioning in the errors. This slightly increases metadata (800k->809k for the feature-heavy windows crate), but not enough to really matter.
2023-05-25Prepopulate opaques in canonical inputMichael Goulet-0/+1
2023-04-24Split `{Idx, IndexVec, IndexSlice}` into their own modulesMaybe Waffle-2/+2
2023-04-18add EarlyBinder to return type of ↵Kyle Matsuda-1/+5
collect_return_position_impl_trait_in_trait_tys query; remove bound_X version
2023-04-08resolve: Preserve reexport chains in `ModChild`renVadim Petrochenkov-0/+1
This may be potentially useful for - avoiding uses of `hir::ItemKind::Use` - preserving documentation comments on all reexports - preserving and checking stability/deprecation info on reexports - all kinds of diagnostics
2023-03-23rustc_interface: Add a new query `pre_configure`Vadim Petrochenkov-1/+1
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-11Rollup merge of #108806 - cjgillot:query-lints, r=davidtwcoMatthias Krüger-0/+1
Querify register_tools and post-expansion early lints The 2 extra queries correspond to code that happen before and after macro expansion, and don't need the resolver to exist.
2023-03-06Querify registered_tools.Camille GILLOT-0/+1
2023-03-01Use FxIndexSet instead of FxHashSet for asm_target_features query.Michael Woerister-1/+2
2023-02-26Wrap more into into closure_typeinfo query.Camille GILLOT-0/+1
2023-02-20Move the resolver into a queryOli Scherer-0/+2
2023-02-15Rollup merge of #107163 - mikebenfield:parameters-pr, r=TaKO8KiDylan DPC-1/+1
Remove some superfluous type parameters from layout.rs. Specifically remove V, which can always be VariantIdx, and F, which can always be Layout.
2023-02-10Resolve documentation links in rustc and store the results in metadataVadim Petrochenkov-0/+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.
2023-02-03intern external constraintsMichael Goulet-0/+1
2023-01-28Remove `HirId -> LocalDefId` map from HIR.Camille GILLOT-1/+1
2023-01-21Remove some superfluous type parameters from layout.rs.Michael Benfield-1/+1
Specifically remove V, which can always be VariantIdx, and F, which can always be Layout.
2023-01-12Remove `output_filenames` field from TyCtxt and feed the query insteadOli Scherer-0/+1
2023-01-12Remove `untracked_crate` field and instead pass it along with the resolver.Oli Scherer-1/+4
2023-01-12Feed `resolutions` query instead of it being a thin wrapper around an ↵Oli Scherer-0/+1
untracked field
2022-12-16Rename ConstS to ConstDataOli Scherer-1/+1
2022-12-06Rollup merge of #104898 - oli-obk:group_all_the_things, r=wesleywiserMatthias Krüger-2/+4
Put all cached values into a central struct instead of just the stable hash cc `@nnethercote` this allows re-use of the type for Predicate without duplicating all the logic for the non-hash cached fields
2022-12-05feed resolver_for_lowering instead of storing it in a fieldOli Scherer-0/+1
2022-11-30Remove PredicateS typeOli Scherer-1/+1
2022-11-30Remove TySOli Scherer-1/+3
2022-11-30move WithCachedTypeInfo to rustc_type_irOli Scherer-2/+2
2022-11-30s/WithStableHash/WithCachedTypeInfo/Oli Scherer-2/+2
2022-11-25Cache Predicates' hash within themselvesOli Scherer-1/+1
2022-11-24make rustc_target usable outside of rustchkalbasi-1/+1
2022-10-29Auto merge of #102698 - michaelwoerister:unord-collections, r=lncrbors-1/+1
Introduce UnordMap, UnordSet, and UnordBag (MCP 533) This is the start of implementing [MCP 533](https://github.com/rust-lang/compiler-team/issues/533). I followed `@eddyb's` suggestion of naming the collection types `Unord(Map/Set/Bag)` which is a bit easier to type than `Unordered(Map/Set/Bag)` r? `@eddyb`
2022-10-27Introduce UnordMap, UnordSet, and UnordBag (see MCP 533)Michael Woerister-1/+1
MCP 533: https://github.com/rust-lang/compiler-team/issues/533 Also, as an example, substitute UnordMap for FxHashMap in used_trait_imports query result.
2022-10-26privacy: Rename "accessibility levels" to "effective visibilities"Vadim Petrochenkov-1/+1
And a couple of other naming tweaks Related to https://github.com/rust-lang/rust/issues/48054
2022-10-07Rewrite representabilityCameron Steffen-0/+1
2022-09-14cache collect_trait_impl_trait_tysMichael Goulet-1/+1
2022-09-09Deeply check that method signatures match, and allow for nested RPITITsMichael Goulet-0/+2
2022-09-01Don't create two new closures for each queryJoshua Nelson-1/+1
- Parameterize DepKindStruct over `'tcx` This allows passing in an invariant function pointer in `query_callback`, rather than having to try and make it work for any lifetime. - Add a new `execute_query` function to `QueryDescription` so we can call `tcx.$name` without needing to be in a macro context
2022-07-12arena > Rc for query resultslcnr-0/+1
2022-07-05Return a FxIndexSet in is_late_bound query.Camille GILLOT-0/+1
This return value is iterated upon by borrowck, hence the need to preserve a deterministic iteration order.
2022-05-25try to cache region_scope_tree as a queryDing Xiang Fei-0/+1
2022-05-22factor out the rvalue lifetime ruleDing Xiang Fei-1/+0
remove region_scope_tree from RegionCtxt Apply suggestions from code review Co-authored-by: Niko Matsakis <niko@alum.mit.edu>
2022-05-13Cache more queries on disk.Camille GILLOT-4/+1
2022-04-07Document and rename the new wrapper typeOli Scherer-1/+1