rust/compiler
Yuki Okushi a656bc5b08
Rollup merge of #90069 - tmiasko:promoted-const-qualif, r=oli-obk
Fix const qualification when executed after promotion

The const qualification was so far performed before the promotion and
the implementation assumed that it will never encounter a promoted.

With `const_precise_live_drops` feature, checking for live drops is
delayed until after drop elaboration, which in turn runs after
promotion. so the assumption is no longer true. When evaluating
`NeedsNonConstDrop` it is now possible to encounter promoteds.

Use type base qualification for the promoted. It is a sound
approximation in general, and in the specific case of promoteds and
`NeedsNonConstDrop` it is precise.

Fixes #89938.
2021-10-22 19:42:49 +09:00
..
rustc
rustc_apfloat Revert "Auto merge of #89709 - clemenswasser:apply_clippy_suggestions_2, r=petrochenkov" 2021-10-15 11:28:23 +02:00
rustc_arena
rustc_ast Rollup merge of #89991 - petrochenkov:visitok2, r=jackh726 2021-10-22 19:42:48 +09:00
rustc_ast_lowering Rollup merge of #89895 - camsteffen:for-loop-head-span, r=davidtwco 2021-10-22 19:42:45 +09:00
rustc_ast_passes Some "parenthesis" and "parentheses" fixes 2021-10-17 12:04:01 +02:00
rustc_ast_pretty Some "parenthesis" and "parentheses" fixes 2021-10-17 12:04:01 +02:00
rustc_attr Correct typo 2021-10-16 13:36:05 -07:00
rustc_borrowck Rollup merge of #89895 - camsteffen:for-loop-head-span, r=davidtwco 2021-10-22 19:42:45 +09:00
rustc_builtin_macros rustc_span: Ident::invalid -> Ident::empty 2021-10-17 23:20:30 +03:00
rustc_codegen_cranelift Make hash_result an Option. 2021-10-20 18:29:18 +02:00
rustc_codegen_gcc Make hash_result an Option. 2021-10-20 18:29:18 +02:00
rustc_codegen_llvm Make hash_result an Option. 2021-10-20 18:29:18 +02:00
rustc_codegen_ssa Auto merge of #90050 - michaelwoerister:fix-vtable-debug-name-crash-90019, r=wesleywiser 2021-10-20 14:37:48 +00:00
rustc_const_eval Rollup merge of #90069 - tmiasko:promoted-const-qualif, r=oli-obk 2021-10-22 19:42:49 +09:00
rustc_data_structures Revert "Auto merge of #89709 - clemenswasser:apply_clippy_suggestions_2, r=petrochenkov" 2021-10-15 11:28:23 +02:00
rustc_driver Auto merge of #89124 - cjgillot:owner-info, r=michaelwoerister 2021-10-18 19:53:05 +00:00
rustc_error_codes Rollup merge of #89922 - JohnTitor:update-e0637, r=jackh726 2021-10-22 19:42:46 +09:00
rustc_errors Auto merge of #89933 - est31:let_else, r=michaelwoerister 2021-10-19 14:41:39 +00:00
rustc_expand Rollup merge of #89991 - petrochenkov:visitok2, r=jackh726 2021-10-22 19:42:48 +09:00
rustc_feature Revert "Stabilize arbitrary_enum_discriminant" 2021-10-14 10:57:56 -04:00
rustc_fs_util
rustc_graphviz Revert "Auto merge of #89709 - clemenswasser:apply_clippy_suggestions_2, r=petrochenkov" 2021-10-15 11:28:23 +02:00
rustc_hir Rollup merge of #90071 - cjgillot:no-blocks, r=oli-obk 2021-10-21 14:11:08 +09:00
rustc_hir_pretty Auto merge of #89124 - cjgillot:owner-info, r=michaelwoerister 2021-10-18 19:53:05 +00:00
rustc_incremental Merge two query callbacks arrays. 2021-10-20 18:29:27 +02:00
rustc_index Revert "Auto merge of #89709 - clemenswasser:apply_clippy_suggestions_2, r=petrochenkov" 2021-10-15 11:28:23 +02:00
rustc_infer Rollup merge of #90071 - cjgillot:no-blocks, r=oli-obk 2021-10-21 14:11:08 +09:00
rustc_interface Build jump table at runtime. 2021-10-20 18:32:29 +02:00
rustc_lexer Revert "Auto merge of #89709 - clemenswasser:apply_clippy_suggestions_2, r=petrochenkov" 2021-10-15 11:28:23 +02:00
rustc_lint Rollup merge of #89895 - camsteffen:for-loop-head-span, r=davidtwco 2021-10-22 19:42:45 +09:00
rustc_lint_defs
rustc_llvm RustWrapper: adapt for an LLVM API change 2021-10-18 09:48:47 +02:00
rustc_macros Revert "Auto merge of #89709 - clemenswasser:apply_clippy_suggestions_2, r=petrochenkov" 2021-10-15 11:28:23 +02:00
rustc_metadata Don't emit a warning for empty rmeta files. 2021-10-19 16:56:47 -07:00
rustc_middle Rollup merge of #90071 - cjgillot:no-blocks, r=oli-obk 2021-10-21 14:11:08 +09:00
rustc_mir_build Rollup merge of #90028 - tmiasko:structural-match-closure, r=spastorino 2021-10-22 19:42:48 +09:00
rustc_mir_dataflow Adopt let_else across the compiler 2021-10-16 07:18:05 +02:00
rustc_mir_transform Rollup merge of #90071 - cjgillot:no-blocks, r=oli-obk 2021-10-21 14:11:08 +09:00
rustc_monomorphize Auto merge of #89933 - est31:let_else, r=michaelwoerister 2021-10-19 14:41:39 +00:00
rustc_parse Rollup merge of #89257 - aDotInTheVoid:macro-error-2, r=estebank 2021-10-22 19:42:43 +09:00
rustc_parse_format
rustc_passes
rustc_plugin_impl
rustc_privacy Rollup merge of #88644 - eopb:abstractconst_leaf_subst, r=lcnr 2021-10-21 14:11:03 +09:00
rustc_query_impl Build jump table at runtime. 2021-10-20 18:32:29 +02:00
rustc_query_system Address review. 2021-10-20 18:51:15 +02:00
rustc_resolve Revert "Auto merge of #89100 - petrochenkov:localbind, r=cjgillot" 2021-10-21 09:09:24 -04:00
rustc_save_analysis
rustc_serialize Revert "Auto merge of #89709 - clemenswasser:apply_clippy_suggestions_2, r=petrochenkov" 2021-10-15 11:28:23 +02:00
rustc_session Rollup merge of #87404 - rylev:artifact-size-profiling, r=wesleywiser 2021-10-20 04:35:11 +09:00
rustc_span Rollup merge of #88860 - nbdd0121:panic, r=m-ou-se 2021-10-20 04:35:14 +09:00
rustc_symbol_mangling
rustc_target Auto merge of #90040 - nbdd0121:issue-90038, r=oli-obk 2021-10-19 08:13:35 +00:00
rustc_trait_selection Rollup merge of #90028 - tmiasko:structural-match-closure, r=spastorino 2021-10-22 19:42:48 +09:00
rustc_traits Move some outlives bounds things from rustc_trait_selection to rustc_typeck 2021-10-15 12:14:19 -04:00
rustc_ty_utils Replace FnLikeNode by FnKind. 2021-10-19 23:31:51 +02:00
rustc_type_ir
rustc_typeck Rollup merge of #90074 - klensy:upvar-all, r=wesleywiser 2021-10-21 14:11:09 +09:00