rust/compiler
bors 2f5df8a94b Auto merge of #115366 - compiler-errors:associated-type-bound-implicit-lifetimes, r=jackh726
Capture lifetimes for associated type bounds destined to be lowered to opaques

Some associated type bounds get lowered to opaques, but they're not represented in the AST as opaques.

That means that we never collect lifetimes for them (`record_lifetime_params_for_impl_trait`) which are used currently for RPITITs, which capture all of their in-scope lifetimes[^1]. This means that the nested RPITITs that arise from some type like `impl Foo<Type: Bar>` (~> `impl Foo<Type = impl Bar>`) don't capture any lifetimes, leading to ICEs.

This PR makes sure we collect the lifetimes for associated type bounds as well, and make sure that they are set up correctly for opaque type lowering later.

Fixes #115360

[^1]: #114489
2023-08-31 21:13:54 +00:00
..
rustc inline format!() args up to and including rustc_middle 2023-07-30 13:18:33 +02:00
rustc_abi there seems to be no reason to treat ZST specially in these cases 2023-08-29 08:58:58 +02:00
rustc_arena Bump cfg(bootstrap) 2023-08-23 20:05:14 -04:00
rustc_ast Auto merge of #115131 - frank-king:feature/unnamed-fields-lite, r=petrochenkov 2023-08-24 12:52:35 +00:00
rustc_ast_lowering Capture lifetimes for associated type bounds destined to be lowered to opaques 2023-08-30 00:31:00 +00:00
rustc_ast_passes Auto merge of #115131 - frank-king:feature/unnamed-fields-lite, r=petrochenkov 2023-08-24 12:52:35 +00:00
rustc_ast_pretty Auto merge of #115131 - frank-king:feature/unnamed-fields-lite, r=petrochenkov 2023-08-24 12:52:35 +00:00
rustc_attr Auto merge of #114201 - Centri3:explicit-repr-rust, r=WaffleLapkin 2023-08-25 00:02:54 +00:00
rustc_baked_icu_data
rustc_borrowck remove dummy UniverseInfo causes from type checker fully_perform_op 2023-08-31 11:41:58 +00:00
rustc_builtin_macros Load include_bytes! directly into an Lrc 2023-08-27 20:16:19 -04:00
rustc_codegen_cranelift Rollup merge of #111580 - atsuzaki:layout-ice, r=oli-obk 2023-08-29 20:49:02 +02:00
rustc_codegen_gcc Rollup merge of #111580 - atsuzaki:layout-ice, r=oli-obk 2023-08-29 20:49:02 +02:00
rustc_codegen_llvm Auto merge of #115058 - Swatinem:inline-add-coverage, r=compiler-errors 2023-08-30 17:43:38 +00:00
rustc_codegen_ssa Auto merge of #114114 - keith:ks/always-add-lc_build_version-for-metadata-object-files, r=wesleywiser 2023-08-29 21:17:13 +00:00
rustc_const_eval miri function ABI check: specifically look for repr(transparent) 2023-08-30 17:07:25 +02:00
rustc_data_structures Use a parallel_guard function to handle the parallel guard 2023-08-30 18:17:38 +02:00
rustc_driver Update rustix 2023-07-03 07:20:51 +00:00
rustc_driver_impl Rollup merge of #113565 - workingjubilee:better-signal-handler-message, r=pnkfelix 2023-08-30 07:18:10 +02:00
rustc_error_codes tell people what to do when removing an error code 2023-08-27 19:12:42 +02:00
rustc_error_messages Bump cfg(bootstrap) 2023-08-23 20:05:14 -04:00
rustc_errors Make termcolor types public in rustc_errors 2023-08-30 16:06:49 -04:00
rustc_expand Bump cfg(bootstrap) 2023-08-23 20:05:14 -04:00
rustc_feature Test variances of opaque captures 2023-08-28 01:05:34 +00:00
rustc_fluent_macro Fix diagnostics with errors 2023-05-26 10:44:18 +00:00
rustc_fs_util
rustc_graphviz
rustc_hir Auto merge of #115045 - RalfJung:unwind-terminate-reason, r=davidtwco 2023-08-25 08:47:18 +00:00
rustc_hir_analysis rustc_layout_scalar_valid_range makes ctors unsafe 2023-08-30 15:01:58 -07:00
rustc_hir_pretty Auto merge of #114545 - fee1-dead-contrib:lower-impl-effect, r=oli-obk 2023-08-08 19:23:41 +00:00
rustc_hir_typeck Remove allow_private entirely. 2023-08-29 16:36:13 -07:00
rustc_incremental Ignore unexpected incr-comp session dirs 2023-08-18 19:57:41 +02:00
rustc_index Auto merge of #115094 - Mark-Simulacrum:bootstrap-update, r=ozkanonur 2023-08-24 11:10:52 +00:00
rustc_infer Test and note unsafe ctor to fn ptr coercion 2023-08-30 15:09:40 -07:00
rustc_interface Auto merge of #111713 - Zoxc:lock-switch, r=nnethercote 2023-08-30 08:03:43 +00:00
rustc_lexer Update lexer emoji diagnostics to Unicode 15.0 2023-07-29 08:47:21 +08:00
rustc_lint some more is_zst that should be is_1zst 2023-08-29 14:11:27 +02:00
rustc_lint_defs Auto merge of #115104 - compiler-errors:rollup-8235xz5, r=compiler-errors 2023-08-22 16:16:32 +00:00
rustc_llvm Auto merge of #115079 - cuviper:unused-mcinfo, r=Mark-Simulacrum 2023-08-27 10:32:24 +00:00
rustc_log inline format!() args up to and including rustc_middle 2023-07-30 13:18:33 +02:00
rustc_macros Bump cfg(bootstrap) 2023-08-23 20:05:14 -04:00
rustc_metadata Auto merge of #113542 - saethlin:adaptive-tables, r=b-naber 2023-08-30 02:40:37 +00:00
rustc_middle Don't record spans for predicates in coherence 2023-08-30 18:24:18 +00:00
rustc_mir_build Auto merge of #115045 - RalfJung:unwind-terminate-reason, r=davidtwco 2023-08-25 08:47:18 +00:00
rustc_mir_dataflow when terminating during unwinding, show the reason why 2023-08-24 13:28:26 +02:00
rustc_mir_transform Auto merge of #115194 - tmiasko:inline-always-encode-mir, r=compiler-errors 2023-08-30 22:51:12 +00:00
rustc_monomorphize Auto merge of #114774 - Enselic:less-move-size-noise, r=oli-obk 2023-08-28 13:36:19 +00:00
rustc_parse Rollup merge of #115347 - y21:generic-bound-impl-trait-ty, r=compiler-errors 2023-08-30 07:18:12 +02:00
rustc_parse_format Fix unit tests 2023-07-19 16:37:09 +00:00
rustc_passes add rustc_abi debugging attribute 2023-08-27 11:55:49 +02:00
rustc_plugin_impl
rustc_privacy Use {Local}ModDefId in many queries 2023-08-14 07:22:48 +00:00
rustc_query_impl Pass ErrorGuaranteed to cycle error 2023-08-27 22:03:00 +00:00
rustc_query_system Don't use wait_for_query without the Rayon thread pool 2023-08-30 06:10:02 +02:00
rustc_resolve Auto merge of #115366 - compiler-errors:associated-type-bound-implicit-lifetimes, r=jackh726 2023-08-31 21:13:54 +00:00
rustc_serialize Upgrade to indexmap 2.0.0 2023-07-03 13:51:54 -07:00
rustc_session Use conditional synchronization for Lock 2023-08-30 06:10:02 +02:00
rustc_smir Move some logic using rustc datastructures to the rustc_smir module 2023-08-30 08:10:28 +00:00
rustc_span Auto merge of #114489 - compiler-errors:rpitit-capture-all, r=oli-obk 2023-08-28 18:05:16 +00:00
rustc_symbol_mangling Fix CFI: f32 and f64 are encoded incorrectly for c 2023-08-24 21:02:06 -07:00
rustc_target Auto merge of #114114 - keith:ks/always-add-lc_build_version-for-metadata-object-files, r=wesleywiser 2023-08-29 21:17:13 +00:00
rustc_trait_selection Rollup merge of #115373 - lqd:come-on-bors, r=compiler-errors 2023-08-31 07:52:43 +02:00
rustc_traits refactor(rustc_middle): Substs -> GenericArg 2023-07-14 13:27:35 +01:00
rustc_transmute Don't attempt to compute layout of type referencing error 2023-07-27 18:24:08 +00:00
rustc_ty_utils some more is_zst that should be is_1zst 2023-08-29 14:11:27 +02:00
rustc_type_ir Bump cfg(bootstrap) 2023-08-23 20:05:14 -04:00