rust/compiler
Matthias Krüger 909bfa31ed
Rollup merge of #112410 - compiler-errors:writeback, r=lcnr
Do `fix_*_builtin_expr` hacks on the writeback results

During writeback, we do `fix_{scalar,index}_builtin_expr` so that during MIR build we generate built-in MIR instructions instead of method calls for certain built-in arithmetic operations. We do this by checking the types of these built-in operations are scalar types, and remove the method def-id to essentially mark the operation as built-in and not "overloaded".

For lazy norm and the new trait solver, this is a problem, because we don't actually normalize all the types we end up seeing in the typeck results until they're copied over writeback's copy of the typeck results. To fix this, delay these fixup calls until after this normalization has been done.

This doesn't affect the old trait solver, but does simplify the code a bit IMO, since we can remove a few sets of calls to `resolve_vars_if_possible` and some `borrow_mut`s.

r? `@lcnr`
2023-06-08 12:36:19 +02:00
..
rustc fix link 2023-03-11 10:53:47 -06:00
rustc_abi Removed stable/unstable sort arg from into_sorted_stable_ord, fixed a few misc issues, added collect to UnordItems 2023-06-08 00:38:50 -04:00
rustc_apfloat
rustc_arena Deny the unsafe_op_in_unsafe_fn lint in 2023-04-28 21:00:54 -07:00
rustc_ast Remember names of cfg-ed out items to mention them in diagnostics 2023-06-01 19:17:19 +02:00
rustc_ast_lowering Separate AnonConst from ConstBlock in HIR. 2023-06-02 21:25:18 +00:00
rustc_ast_passes cleanup 2023-06-03 09:44:30 +08:00
rustc_ast_pretty Migrate offset_of from a macro to builtin # syntax 2023-05-05 21:44:13 +02:00
rustc_attr Ensure Fluent messages are in alphabetical order 2023-05-25 23:49:35 +00:00
rustc_baked_icu_data Regen baked data 2023-05-02 10:45:16 -07:00
rustc_borrowck Rollup merge of #112122 - compiler-errors:next-coherence, r=lcnr 2023-06-07 18:01:29 +05:30
rustc_builtin_macros Auto merge of #111748 - nnethercote:Cow-DiagnosticMessage, r=WaffleLapkin 2023-05-29 07:10:44 +00:00
rustc_codegen_cranelift Updated cranelift codegen to reflect modified trait signature 2023-06-04 21:54:38 -04:00
rustc_codegen_gcc Updated cranelift codegen to reflect modified trait signature 2023-06-04 21:54:38 -04:00
rustc_codegen_llvm Auto merge of #110040 - ndrewxie:issue-84447-partial-1, r=lcnr,michaelwoerister 2023-06-08 07:30:03 +00:00
rustc_codegen_ssa Auto merge of #110040 - ndrewxie:issue-84447-partial-1, r=lcnr,michaelwoerister 2023-06-08 07:30:03 +00:00
rustc_const_eval Use 128 bits for TypeId hash 2023-06-04 08:34:48 -07:00
rustc_data_structures Removed stable/unstable sort arg from into_sorted_stable_ord, fixed a few misc issues, added collect to UnordItems 2023-06-08 00:38:50 -04:00
rustc_driver fix spelling error 2023-06-05 16:01:09 +02:00
rustc_driver_impl Use Cow in {D,Subd}iagnosticMessage. 2023-05-29 09:23:43 +10:00
rustc_error_codes Implement custom diagnostic for ConstParamTy 2023-06-01 18:21:42 +00:00
rustc_error_messages Use translatable diagnostics in rustc_const_eval 2023-06-01 14:45:18 +00:00
rustc_errors Respect RUST_BACKTRACE for delayed bugs 2023-06-06 19:24:33 +00:00
rustc_expand Auto merge of #109005 - Nilstrieb:dont-forgor-too-much-from-cfg, r=petrochenkov 2023-06-07 17:38:57 +00:00
rustc_feature cleanup 2023-06-03 09:44:30 +08:00
rustc_fluent_macro Remove unused synstructure dep 2023-04-22 22:03:33 +01:00
rustc_fs_util Add try_canonicalize to rustc_fs_util and use it over fs::canonicalize 2023-03-16 21:50:23 +01:00
rustc_graphviz enable rust_2018_idioms for doctests 2023-05-07 00:12:29 +03:00
rustc_hir Removed stable/unstable sort arg from into_sorted_stable_ord, fixed a few misc issues, added collect to UnordItems 2023-06-08 00:38:50 -04:00
rustc_hir_analysis Rollup merge of #109953 - thomcc:thomcc/typeid128, r=WaffleLapkin 2023-06-08 12:36:17 +02:00
rustc_hir_pretty Separate AnonConst from ConstBlock in HIR. 2023-06-02 21:25:18 +00:00
rustc_hir_typeck Do fix_*_builtin_expr hacks on the writeback results 2023-06-08 03:21:13 +00:00
rustc_incremental Removed stable/unstable sort arg from into_sorted_stable_ord, fixed a few misc issues, added collect to UnordItems 2023-06-08 00:38:50 -04:00
rustc_index Auto merge of #111925 - Manishearth:rollup-z6z6l2v, r=Manishearth 2023-05-25 00:33:43 +00:00
rustc_infer Rollup merge of #112122 - compiler-errors:next-coherence, r=lcnr 2023-06-07 18:01:29 +05:30
rustc_interface Removed stable/unstable sort arg from into_sorted_stable_ord, fixed a few misc issues, added collect to UnordItems 2023-06-08 00:38:50 -04:00
rustc_lexer Don't try to eat non-existent decimal digits. 2023-05-15 18:33:12 +10:00
rustc_lint Rollup merge of #112343 - GuillaumeGomez:extern-crate-missing-docs, r=notriddle 2023-06-06 22:00:20 +02:00
rustc_lint_defs Remove const eval limit and implement an exponential backoff lint instead 2023-05-31 10:24:17 +00:00
rustc_llvm Add SafeStack support to rustc 2023-05-26 15:18:54 -04:00
rustc_log Stabilize IsTerminal 2023-04-10 17:24:23 +09:00
rustc_macros Use translatable diagnostics in rustc_const_eval 2023-06-01 14:45:18 +00:00
rustc_metadata Auto merge of #109005 - Nilstrieb:dont-forgor-too-much-from-cfg, r=petrochenkov 2023-06-07 17:38:57 +00:00
rustc_middle Rollup merge of #109953 - thomcc:thomcc/typeid128, r=WaffleLapkin 2023-06-08 12:36:17 +02:00
rustc_mir_build Show note for type ascription interpreted as a constant pattern, not a new variable 2023-06-04 20:49:30 +08:00
rustc_mir_dataflow unique borrows are mutating uses 2023-05-29 17:15:48 +02:00
rustc_mir_transform cleanup some skip_binder -> subst_identity 2023-06-05 18:40:36 -06:00
rustc_monomorphize Clarify follow_inlining. 2023-06-02 13:07:30 +10:00
rustc_parse Fix suggestion for matching struct with .. on both ends 2023-06-03 15:02:13 +08:00
rustc_parse_format Fix typos in compiler 2023-04-10 22:02:52 +02:00
rustc_passes Rollup merge of #112081 - obeis:doc-test-literal, r=compiler-errors 2023-06-05 23:47:57 +02:00
rustc_plugin_impl Add rustc_fluent_macro to decouple fluent from rustc_macros 2023-04-18 18:56:22 +00:00
rustc_privacy Rename impl_defaultness to defaultness 2023-06-01 06:14:06 +00:00
rustc_query_impl deps: bump crates 2023-05-26 13:03:47 +03:00
rustc_query_system Rollup merge of #112333 - Zoxc:try_collect_active_jobs-deadlock, r=cjgillot 2023-06-08 12:36:18 +02:00
rustc_resolve Remember names of cfg-ed out items to mention them in diagnostics 2023-06-01 19:17:19 +02:00
rustc_serialize Fix the FileEncoder buffer size. 2023-05-15 08:59:11 +10:00
rustc_session Auto merge of #110040 - ndrewxie:issue-84447-partial-1, r=lcnr,michaelwoerister 2023-06-08 07:30:03 +00:00
rustc_smir Rollup merge of #111250 - spastorino:smir-terminator-2, r=oli-obk 2023-06-06 22:00:18 +02:00
rustc_span Auto merge of #111567 - Urgau:uplift_cast_ref_to_mut, r=b-naber 2023-06-01 01:27:32 +00:00
rustc_symbol_mangling Rollup merge of #112182 - rcvalle:rust-cfi-fix-111185, r=compiler-errors 2023-06-02 18:12:45 +02:00
rustc_target Auto merge of #111698 - Amanieu:force-static-lib, r=petrochenkov 2023-06-07 22:02:24 +00:00
rustc_trait_selection Rollup merge of #112122 - compiler-errors:next-coherence, r=lcnr 2023-06-07 18:01:29 +05:30
rustc_traits Make TraitEngine::new use the right solver, add compare mode 2023-06-06 18:43:20 +00:00
rustc_transmute Remove unused TypeFoldable/TypeVisitable impls. 2023-04-26 15:19:50 +10:00
rustc_ty_utils Separate AnonConst from ConstBlock in HIR. 2023-06-02 21:25:18 +00:00
rustc_type_ir better TyKind::Debug 2023-05-26 18:55:02 +01:00