rust/compiler
bors c755ee4ce8 Auto merge of #82907 - petrochenkov:dercache, r=Aaron1011
resolve/expand: Cache intermediate results of `#[derive]` expansion

Expansion function for `#[derive]` (`rustc_builtin_macros::derive::Expander::expand`) may return an indeterminate result, and therefore can be called multiple times.
Previously we parsed the `#[derive(Foo, Bar)]`'s input and tried to resolve `Foo` and `Bar` on every such call.

Now we maintain a cache `Resolver::derive_data` and take all the necessary data from it if it was computed previously.
So `Foo, Bar` is now parsed at most once, and `Foo` and `Bar` are successfully resolved at most once.
2021-04-04 20:16:09 +00:00
..
rustc
rustc_apfloat Use iter::zip in compiler/ 2021-03-26 09:32:31 -07:00
rustc_arena Remove (lots of) dead code 2021-03-27 22:16:33 -04:00
rustc_ast Remove (lots of) dead code 2021-03-27 22:16:33 -04:00
rustc_ast_lowering Remove hir::CrateItem. 2021-03-30 20:31:06 +02:00
rustc_ast_passes Auto merge of #80965 - camelid:rename-doc-spotlight, r=jyn514 2021-04-02 07:04:58 +00:00
rustc_ast_pretty Remove (lots of) dead code 2021-03-27 22:16:33 -04:00
rustc_attr
rustc_builtin_macros resolve/expand: Cache intermediate results of #[derive] expansion 2021-04-04 17:51:41 +03:00
rustc_codegen_cranelift Add an Mmap wrapper to rustc_data_structures 2021-03-30 18:57:03 +02:00
rustc_codegen_llvm Auto merge of #83774 - richkadel:zero-based-counters, r=tmandry 2021-04-03 06:27:03 +00:00
rustc_codegen_ssa Auto merge of #83811 - JohnTitor:rollup-hnw1xwz, r=JohnTitor 2021-04-03 23:17:58 +00:00
rustc_data_structures Auto merge of #83682 - bjorn3:mmap_wrapper, r=cjgillot 2021-04-03 13:23:42 +00:00
rustc_driver Address review comments 2021-03-27 22:16:34 -04:00
rustc_error_codes
rustc_errors Rollup merge of #73945 - est31:unused_externs, r=Mark-Simulacrum 2021-04-04 19:19:58 +02:00
rustc_expand resolve/expand: Cache intermediate results of #[derive] expansion 2021-04-04 17:51:41 +03:00
rustc_feature Auto merge of #80965 - camelid:rename-doc-spotlight, r=jyn514 2021-04-02 07:04:58 +00:00
rustc_fs_util
rustc_graphviz Remove (lots of) dead code 2021-03-27 22:16:33 -04:00
rustc_hir Auto merge of #83599 - jyn514:unorderable, r=Aaron1011 2021-04-03 04:11:35 +00:00
rustc_hir_pretty Remove hir::CrateItem. 2021-03-30 20:31:06 +02:00
rustc_incremental Also profile finishing the encoding. 2021-03-30 18:10:08 +02:00
rustc_index Add fixme comment to revert change once const_panic is stable 2021-04-03 13:07:03 +02:00
rustc_infer Auto merge of #83207 - oli-obk:valtree2, r=lcnr 2021-04-02 10:28:12 +00:00
rustc_interface Rollup merge of #73945 - est31:unused_externs, r=Mark-Simulacrum 2021-04-04 19:19:58 +02:00
rustc_lexer
rustc_lint add OR_PATTERNS_BACK_COMPAT lint 2021-04-01 23:14:14 +08:00
rustc_lint_defs Fix rustc_lint_defs documentation typo 2021-04-03 12:00:28 -03:00
rustc_llvm
rustc_macros Use iter::zip in compiler/ 2021-03-26 09:32:31 -07:00
rustc_metadata Rollup merge of #73945 - est31:unused_externs, r=Mark-Simulacrum 2021-04-04 19:19:58 +02:00
rustc_middle Rollup merge of #83521 - sexxi-goose:quick-diagnostic-fix, r=nikomatsakis 2021-04-04 19:20:01 +02:00
rustc_mir Rollup merge of #83521 - sexxi-goose:quick-diagnostic-fix, r=nikomatsakis 2021-04-04 19:20:01 +02:00
rustc_mir_build Reduce size of statements 2021-04-02 19:11:50 -04:00
rustc_parse Always preserve None-delimited groups in a captured TokenStream 2021-03-26 23:32:18 -04:00
rustc_parse_format Rollup merge of #83348 - osa1:issue83344, r=jackh726 2021-03-28 01:33:13 +09:00
rustc_passes Auto merge of #80965 - camelid:rename-doc-spotlight, r=jyn514 2021-04-02 07:04:58 +00:00
rustc_plugin_impl
rustc_privacy
rustc_query_impl Auto merge of #83207 - oli-obk:valtree2, r=lcnr 2021-04-02 10:28:12 +00:00
rustc_query_system Enable debugging the dep-graph without debug-assertions. 2021-03-31 17:12:06 +02:00
rustc_resolve resolve: Stable order for derive helper attributes 2021-04-04 17:51:41 +03:00
rustc_save_analysis Remove hir::CrateItem. 2021-03-30 20:31:06 +02:00
rustc_serialize Auto merge of #83465 - michaelwoerister:safe-read_raw_bytes, r=cjgillot 2021-03-26 01:28:59 +00:00
rustc_session Rollup merge of #73945 - est31:unused_externs, r=Mark-Simulacrum 2021-04-04 19:19:58 +02:00
rustc_span Auto merge of #80965 - camelid:rename-doc-spotlight, r=jyn514 2021-04-02 07:04:58 +00:00
rustc_symbol_mangling Add var to BoundRegion. Add query to get bound vars for applicable items. 2021-03-31 10:16:37 -04:00
rustc_target (De-)serialize the supported_sanitizers 2021-04-03 00:37:49 +03:00
rustc_trait_selection Rollup merge of #83673 - hi-rustin:rustin-patch-suggestion, r=estebank 2021-04-02 19:57:32 +02:00
rustc_traits Auto merge of #83207 - oli-obk:valtree2, r=lcnr 2021-04-02 10:28:12 +00:00
rustc_ty_utils Track bound vars 2021-03-31 10:15:27 -04:00
rustc_type_ir Remove nightly features in rustc_type_ir 2021-04-03 10:00:09 +02:00
rustc_typeck Rollup merge of #83521 - sexxi-goose:quick-diagnostic-fix, r=nikomatsakis 2021-04-04 19:20:01 +02:00