rust/compiler
Guillaume Gomez e5b2935dc1
Rollup merge of #123662 - compiler-errors:no-upvars-yet, r=oli-obk
Don't rely on upvars being assigned just because coroutine-closure kind is assigned

Previously, code relied on the implicit assumption that if a coroutine-closure's kind variable was constrained, then its upvars were also constrained. This is because we assign all of them at once at the end up upvar analysis.

However, there's another way that a coroutine-closure's kind can be constrained: from a signature hint in closure signature deduction. After #123350, we use these hints, which means the implicit assumption above no longer holds.

This PR adds the necessary checks so that we don't ICE.

r? oli-obk
2024-04-09 13:39:23 +02:00
..
rustc
rustc_abi Use the Align type when parsing alignment attributes 2024-04-01 03:05:55 +01:00
rustc_arena rename ptr::invalid -> ptr::without_provenance 2024-02-21 20:15:52 +01:00
rustc_ast Actually create ranged int types in the type system. 2024-04-08 12:02:19 +00:00
rustc_ast_ir Fix typo in VisitorResult 2024-03-08 23:20:29 -05:00
rustc_ast_lowering Actually create ranged int types in the type system. 2024-04-08 12:02:19 +00:00
rustc_ast_passes Add pattern types to parser 2024-04-08 11:57:17 +00:00
rustc_ast_pretty Add pattern types to ast 2024-04-08 11:54:22 +00:00
rustc_attr Use the Align type when parsing alignment attributes 2024-04-01 03:05:55 +01:00
rustc_baked_icu_data
rustc_borrowck Auto merge of #122077 - oli-obk:eager_opaque_checks4, r=lcnr 2024-04-08 23:01:50 +00:00
rustc_builtin_macros Add pattern types to parser 2024-04-08 11:57:17 +00:00
rustc_codegen_cranelift Only traverse mono-reachable blocks in cg_clif 2024-04-07 16:46:21 -04:00
rustc_codegen_gcc Save/restore more items in cache with incremental compilation 2024-04-06 10:59:24 -04:00
rustc_codegen_llvm Rollup merge of #123620 - rcvalle:rust-create-rustc-sanitizers, r=davidtwco 2024-04-09 06:02:21 +02:00
rustc_codegen_ssa Auto merge of #123272 - saethlin:reachable-mono-cleanup, r=cjgillot 2024-04-09 07:41:34 +00:00
rustc_const_eval Actually create ranged int types in the type system. 2024-04-08 12:02:19 +00:00
rustc_data_structures rustc_index: Add a ZERO constant to index types 2024-04-03 19:06:22 +03:00
rustc_driver
rustc_driver_impl Rollup merge of #122807 - danielhuang:fix-1, r=davidtwco 2024-04-08 14:31:10 +02:00
rustc_error_codes Use the more informative generic type inference failure error on method calls on raw pointers 2024-03-20 15:53:06 +00:00
rustc_error_messages Rename SubdiagnosticMessage as SubdiagMessage. 2024-03-05 12:14:49 +11:00
rustc_errors Rollup merge of #123401 - Zalathar:assert-size-aarch64, r=fmease 2024-04-03 20:17:06 -04:00
rustc_expand Check x86_64 size assertions on aarch64, too 2024-04-03 16:53:03 +11:00
rustc_feature Set the correct tracking issue for pattern types 2024-04-08 20:53:05 +00:00
rustc_fluent_macro Rename SubdiagnosticMessage as SubdiagMessage. 2024-03-05 12:14:49 +11:00
rustc_fs_util
rustc_graphviz
rustc_hir Actually create ranged int types in the type system. 2024-04-08 12:02:19 +00:00
rustc_hir_analysis Rollup merge of #123648 - oli-obk:pattern_types_syntax, r=compiler-errors 2024-04-09 06:02:23 +02:00
rustc_hir_pretty Thread pattern types through the HIR 2024-04-08 12:00:07 +00:00
rustc_hir_typeck Rollup merge of #122768 - oli-obk:why_is_E0699_so_bad, r=WaffleLapkin 2024-04-09 06:02:21 +02:00
rustc_incremental Auto merge of #122070 - Zoxc:dep-edges-from-previous, r=cjgillot 2024-04-05 11:11:17 +00:00
rustc_index Check x86_64 size assertions on aarch64, too 2024-04-03 16:53:03 +11:00
rustc_index_macros rustc_index: Add a ZERO constant to index types 2024-04-03 19:06:22 +03:00
rustc_infer Auto merge of #122077 - oli-obk:eager_opaque_checks4, r=lcnr 2024-04-08 23:01:50 +00:00
rustc_interface Put checks that detect UB under their own flag below debug_assertions 2024-04-06 11:21:47 -04:00
rustc_lexer Silence redundant error on char literal that was meant to be a string in 2021 edition 2024-03-17 23:35:19 +00:00
rustc_lint Auto merge of #120131 - oli-obk:pattern_types_syntax, r=compiler-errors 2024-04-08 16:25:23 +00:00
rustc_lint_defs Rollup merge of #120144 - petrochenkov:unty, r=davidtwco 2024-04-08 14:31:10 +02:00
rustc_llvm Rollup merge of #123591 - Zalathar:useless-cast, r=cuviper 2024-04-08 22:06:23 +02:00
rustc_log bump tracing-tree to 0.3 2024-03-30 17:39:43 +03:00
rustc_macros Rename diagnostic derive things. 2024-03-11 10:06:34 +11:00
rustc_metadata Auto merge of #123099 - oli-obk:span_tcx, r=petrochenkov 2024-04-09 03:04:20 +00:00
rustc_middle Rollup merge of #123662 - compiler-errors:no-upvars-yet, r=oli-obk 2024-04-09 13:39:23 +02:00
rustc_mir_build Actually create ranged int types in the type system. 2024-04-08 12:02:19 +00:00
rustc_mir_dataflow Actually create ranged int types in the type system. 2024-04-08 12:02:19 +00:00
rustc_mir_transform Rollup merge of #123658 - compiler-errors:stop-assuming, r=oli-obk 2024-04-09 13:39:23 +02:00
rustc_monomorphize Only collect mono items from reachable blocks 2024-04-07 14:36:42 -04:00
rustc_next_trait_solver Auto merge of #122077 - oli-obk:eager_opaque_checks4, r=lcnr 2024-04-08 23:01:50 +00:00
rustc_parse parser: reduce visibility of unnecessary public UnmatchedDelim 2024-04-08 23:55:48 +09:00
rustc_parse_format Check x86_64 size assertions on aarch64, too 2024-04-03 16:53:03 +11:00
rustc_passes Actually create ranged int types in the type system. 2024-04-08 12:02:19 +00:00
rustc_pattern_analysis Actually create ranged int types in the type system. 2024-04-08 12:02:19 +00:00
rustc_privacy Actually create ranged int types in the type system. 2024-04-08 12:02:19 +00:00
rustc_query_impl Verify that query keys result in unique dep nodes 2024-03-12 05:31:41 +01:00
rustc_query_system Remove sharding for VecCache 2024-04-06 10:49:31 -04:00
rustc_resolve Rollup merge of #123307 - tgross35:f16-f128-feature-gate-fix, r=petrochenkov 2024-04-03 20:17:05 -04:00
rustc_sanitizers sanitizers: Create the rustc_sanitizers crate 2024-04-08 12:05:41 -07:00
rustc_serialize Stabilize associated type bounds 2024-03-08 20:56:25 +00:00
rustc_session Auto merge of #123099 - oli-obk:span_tcx, r=petrochenkov 2024-04-09 03:04:20 +00:00
rustc_smir Rollup merge of #123655 - celinval:smir-fix-binop-ty, r=compiler-errors 2024-04-09 06:02:24 +02:00
rustc_span Add pattern types to parser 2024-04-08 11:57:17 +00:00
rustc_symbol_mangling Rollup merge of #123649 - maurer:kcfi-v0, r=compiler-errors 2024-04-09 06:02:24 +02:00
rustc_target force_array -> is_consecutive 2024-04-08 11:31:43 +09:00
rustc_trait_selection Rollup merge of #123662 - compiler-errors:no-upvars-yet, r=oli-obk 2024-04-09 13:39:23 +02:00
rustc_traits Merge check_mod_impl_wf and check_mod_type_wf 2024-03-07 06:27:09 +00:00
rustc_transmute Rollup merge of #123367 - jswrenn:layoutify, r=compiler-errors 2024-04-08 22:06:21 +02:00
rustc_ty_utils Actually create ranged int types in the type system. 2024-04-08 12:02:19 +00:00
rustc_type_ir Auto merge of #122077 - oli-obk:eager_opaque_checks4, r=lcnr 2024-04-08 23:01:50 +00:00
stable_mir Rollup merge of #123655 - celinval:smir-fix-binop-ty, r=compiler-errors 2024-04-09 06:02:24 +02:00