rust/compiler
Matthias Krüger ff43249b0e
Rollup merge of #112303 - Nilstrieb:as-deref, r=compiler-errors
Normalize in infcx instead of globally for `Option::as_deref` suggestion

fixes #112293

The projection may contain inference variables. These inference variables are local to the local inference context. Using `tcx.normalize_erasing_regions` doesn't work here because this method is global and does not have access to the inference context. It's therefore unable to deal with the inference variables. We normalize in the local inference context instead, which knowns about the inference variables.

The test looks a little different than the issue example, I made it more minimal and verified that it still ICEs on nightly.

Also contains a drive-by fix to properly compare the types.

r? `@compiler-errors`
2023-06-05 23:47:59 +02:00
..
rustc
rustc_abi Use translatable diagnostics in rustc_const_eval 2023-06-01 14:45:18 +00:00
rustc_apfloat
rustc_arena Deny the unsafe_op_in_unsafe_fn lint in 2023-04-28 21:00:54 -07:00
rustc_ast Add warn-by-default lint for local binding shadowing exported glob re-export item 2023-05-27 18:49:07 +08: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 #111980 - compiler-errors:unmapped-substs, r=lcnr 2023-06-01 11:09:43 +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 Rollup merge of #112168 - scottmcm:lower-div-rem-unchecked-to-mir, r=oli-obk 2023-06-02 16:02:06 -07:00
rustc_codegen_gcc Use translatable diagnostics in rustc_const_eval 2023-06-01 14:45:18 +00:00
rustc_codegen_llvm Rollup merge of #111647 - klensy:cstr, r=oli-obk 2023-06-02 18:12:45 +02:00
rustc_codegen_ssa Auto merge of #107583 - EsmeYi:aix_xcoff_metadata, r=bjorn3 2023-06-05 10:42:05 +00:00
rustc_const_eval Rollup merge of #112168 - scottmcm:lower-div-rem-unchecked-to-mir, r=oli-obk 2023-06-02 16:02:06 -07:00
rustc_data_structures Update dependencies with reported vulnerabilities 2023-06-02 12:34:01 -05: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 Auto merge of #112198 - compiler-errors:rollup-o2xe4of, r=compiler-errors 2023-06-02 07:57:21 +00:00
rustc_expand Use Cow in {D,Subd}iagnosticMessage. 2023-05-29 09:23:43 +10: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
rustc_graphviz enable rust_2018_idioms for doctests 2023-05-07 00:12:29 +03:00
rustc_hir Separate AnonConst from ConstBlock in HIR. 2023-06-02 21:25:18 +00:00
rustc_hir_analysis Rollup merge of #112183 - compiler-errors:new-solver-anon-ct, r=BoxyUwU 2023-06-02 16:02:06 -07:00
rustc_hir_pretty Separate AnonConst from ConstBlock in HIR. 2023-06-02 21:25:18 +00:00
rustc_hir_typeck Fix type-inference regression in #112225 2023-06-04 10:56:00 +02:00
rustc_incremental Ensure Fluent messages are in alphabetical order 2023-05-25 23:49:35 +00:00
rustc_index Auto merge of #111925 - Manishearth:rollup-z6z6l2v, r=Manishearth 2023-05-25 00:33:43 +00:00
rustc_infer Normalize anon consts in new solver 2023-06-02 22:07:57 +00:00
rustc_interface Ensure Fluent messages are in alphabetical order 2023-05-25 23:49:35 +00: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 #111496 - mpalmer:unreachable-pub-docs, r=pnkfelix 2023-06-01 22:47:30 +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 Separate AnonConst from ConstBlock in HIR. 2023-06-02 21:25:18 +00:00
rustc_middle Rollup merge of #112183 - compiler-errors:new-solver-anon-ct, r=BoxyUwU 2023-06-02 16:02:06 -07: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 Auto merge of #112240 - cjgillot:recurse-inline, r=scottmcm 2023-06-04 03:39:24 +00:00
rustc_monomorphize Clarify follow_inlining. 2023-06-02 13:07:30 +10:00
rustc_parse Auto merge of #111748 - nnethercote:Cow-DiagnosticMessage, r=WaffleLapkin 2023-05-29 07:10:44 +00: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 Ensure Fluent messages are in alphabetical order 2023-05-25 23:49:35 +00:00
rustc_resolve Use Cow in {D,Subd}iagnosticMessage. 2023-05-29 09:23:43 +10:00
rustc_serialize Fix the FileEncoder buffer size. 2023-05-15 08:59:11 +10:00
rustc_session Auto merge of #103877 - oli-obk:const_eval_step_limit, r=fee1-dead 2023-06-01 05:32:00 +00:00
rustc_smir Remove DesugaringKind::Replace. 2023-05-25 17:40:46 +00: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 #112198 - compiler-errors:rollup-o2xe4of, r=compiler-errors 2023-06-02 07:57:21 +00:00
rustc_trait_selection Rollup merge of #112303 - Nilstrieb:as-deref, r=compiler-errors 2023-06-05 23:47:59 +02:00
rustc_traits Rename tcx.mk_re_* => Region::new_* 2023-05-29 17:54:53 +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