rust/compiler
bors 68511b574f Auto merge of #86676 - cjgillot:localexpn, r=petrochenkov
Make expansions stable for incr. comp.

This PR aims to make expansions stable for incr. comp. by using the same architecture as definitions:
- the interned identifier `ExpnId` contains a `CrateNum` and a crate-local id;
- bidirectional maps `ExpnHash <-> ExpnId` are setup;
- incr. comp. on-disk cache saves and reconstructs expansions using their `ExpnHash`.

I tried to use as many `LocalExpnId` as I could in the resolver code, but I may have missed a few opportunities.

All this will allow to use an `ExpnId` as a query key, and to force this query without recomputing caller queries. For instance, this will be used to implement #85999.

r? `@petrochenkov`
2021-07-17 17:56:46 +00:00
..
rustc
rustc_apfloat
rustc_arena
rustc_ast Use LocalExpnId where possible. 2021-07-17 19:41:02 +02:00
rustc_ast_lowering Remove refs from pat slices 2021-07-15 16:09:57 -05:00
rustc_ast_passes
rustc_ast_pretty
rustc_attr
rustc_builtin_macros Use LocalExpnId where possible. 2021-07-17 19:41:02 +02:00
rustc_codegen_cranelift fix cranelift 2021-07-14 18:17:49 +02:00
rustc_codegen_llvm Auto merge of #87123 - RalfJung:miri-provenance-overhaul, r=oli-obk 2021-07-17 15:26:27 +00:00
rustc_codegen_ssa Auto merge of #87123 - RalfJung:miri-provenance-overhaul, r=oli-obk 2021-07-17 15:26:27 +00:00
rustc_data_structures
rustc_driver
rustc_error_codes
rustc_errors
rustc_expand Use LocalExpnId where possible. 2021-07-17 19:41:02 +02:00
rustc_feature Auto merge of #87201 - GuillaumeGomez:rollup-4loi2q9, r=GuillaumeGomez 2021-07-16 19:04:16 +00:00
rustc_fs_util
rustc_graphviz
rustc_hir Remove refs from pat slices 2021-07-15 16:09:57 -05:00
rustc_hir_pretty
rustc_incremental
rustc_index
rustc_infer Add initial implementation of HIR-based WF checking for diagnostics 2021-07-16 16:29:02 -05:00
rustc_interface Rollup merge of #87145 - jsgf:fix-lint-opt-hash, r=michaelwoerister 2021-07-16 10:08:07 +02:00
rustc_lexer
rustc_lint Make GATs no longer incomplete 2021-07-16 00:22:01 -04:00
rustc_lint_defs
rustc_llvm
rustc_macros
rustc_metadata Drop ExpnData::krate. 2021-07-17 19:41:10 +02:00
rustc_middle Auto merge of #86676 - cjgillot:localexpn, r=petrochenkov 2021-07-17 17:56:46 +00:00
rustc_mir Auto merge of #87123 - RalfJung:miri-provenance-overhaul, r=oli-obk 2021-07-17 15:26:27 +00:00
rustc_mir_build Auto merge of #87123 - RalfJung:miri-provenance-overhaul, r=oli-obk 2021-07-17 15:26:27 +00:00
rustc_parse
rustc_parse_format
rustc_passes
rustc_plugin_impl
rustc_privacy
rustc_query_impl Add initial implementation of HIR-based WF checking for diagnostics 2021-07-16 16:29:02 -05:00
rustc_query_system
rustc_resolve Use LocalExpnId where possible. 2021-07-17 19:41:02 +02:00
rustc_save_analysis
rustc_serialize
rustc_session Rollup merge of #87145 - jsgf:fix-lint-opt-hash, r=michaelwoerister 2021-07-16 10:08:07 +02:00
rustc_span Simplify Expn creation. 2021-07-17 19:41:14 +02:00
rustc_symbol_mangling
rustc_target Auto merge of #87124 - Andy-Python-Programmer:code_model_uefi_patch, r=petrochenkov 2021-07-17 10:15:33 +00:00
rustc_trait_selection Auto merge of #83898 - Aaron1011:feature/hir-wf, r=estebank 2021-07-16 21:54:42 +00:00
rustc_traits Add initial implementation of HIR-based WF checking for diagnostics 2021-07-16 16:29:02 -05:00
rustc_ty_utils
rustc_type_ir
rustc_typeck Auto merge of #83898 - Aaron1011:feature/hir-wf, r=estebank 2021-07-16 21:54:42 +00:00