rust/compiler
bors 9e6c4fddda Auto merge of #123531 - compiler-errors:closure-wf, r=oli-obk
Enforce closure args + return type are WF

I found this out when investigating https://github.com/rust-lang/rust/issues/123461#issuecomment-2040894359. Turns out we don't register WF obligations for closure args and return types, leading to the ICE.

~~I think this is a useful thing to check for, but I'd like to check what the fallout is.~~ crater is complete.

~~Worst case, I think we should enforce this across an edition boundary (and possibly eventually migrate this for all editions) -- this should be super easy to do, since this is a check in HIR wfcheck, so it can be made edition dependent.~~ I believe the regressions are manageable enough to not necessitate edition-specific behavior.

Fixes #123461
2024-04-25 15:05:51 +00: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 Rollup merge of #124324 - nnethercote:minor-ast-cleanups, r=estebank 2024-04-25 06:31:04 +02:00
rustc_ast_ir introduce `Mutability::ptr_str` 2024-04-10 18:51:09 +02:00
rustc_ast_lowering Auto merge of #122500 - petrochenkov:deleg, r=fmease 2024-04-24 11:57:35 +00:00
rustc_ast_passes Stabilise `inline_const` 2024-04-24 13:12:25 +01:00
rustc_ast_pretty Give a name to each distinct manipulation of pretty-printer FixupContext 2024-04-19 23:49:44 -07:00
rustc_attr Rollup merge of #124324 - nnethercote:minor-ast-cleanups, r=estebank 2024-04-25 06:31:04 +02:00
rustc_baked_icu_data
rustc_borrowck Auto merge of #119650 - chenyukang:yukang-fix-118596-ref-mut, r=wesleywiser 2024-04-25 08:52:19 +00:00
rustc_builtin_macros Pass translation closure to add_to_diag_with() as reference 2024-04-21 07:45:03 +00:00
rustc_codegen_cranelift Error on using `yield` without also using `#[coroutine]` on the closure 2024-04-24 08:05:29 +00:00
rustc_codegen_gcc Error on using `yield` without also using `#[coroutine]` on the closure 2024-04-24 08:05:29 +00:00
rustc_codegen_llvm Auto merge of #121298 - nikic:writable, r=cuviper 2024-04-25 04:31:56 +00:00
rustc_codegen_ssa Rollup merge of #124324 - nnethercote:minor-ast-cleanups, r=estebank 2024-04-25 06:31:04 +02:00
rustc_const_eval properly fill a promoted's required_consts 2024-04-23 23:02:54 +02:00
rustc_data_structures Stabilize generic `NonZero`. 2024-04-22 18:48:47 +02:00
rustc_driver
rustc_driver_impl Fix pretty hir for anon consts in diagnostics 2024-04-15 18:48:12 -04:00
rustc_error_codes Error on using `yield` without also using `#[coroutine]` on the closure 2024-04-24 08:05:29 +00:00
rustc_error_messages Rename `SubdiagnosticMessage` as `SubdiagMessage`. 2024-03-05 12:14:49 +11:00
rustc_errors Format stash message correctly 2024-04-25 10:03:17 -04:00
rustc_expand Auto merge of #124008 - nnethercote:simpler-static_assert_size, r=Nilstrieb 2024-04-18 09:47:45 +00:00
rustc_feature Stabilise `inline_const` 2024-04-24 13:12:25 +01:00
rustc_fluent_macro Rename `SubdiagnosticMessage` as `SubdiagMessage`. 2024-03-05 12:14:49 +11:00
rustc_fs_util Stabilize `std::path::absolute` 2024-04-24 14:35:02 +00:00
rustc_graphviz
rustc_hir Rollup merge of #120929 - long-long-float:wrap-dyn-in-suggestion, r=fmease 2024-04-23 17:25:14 +02:00
rustc_hir_analysis Auto merge of #124058 - TechVest:master, r=fmease 2024-04-25 13:02:08 +00:00
rustc_hir_pretty Rename `BindingAnnotation` to `BindingMode` 2024-04-17 09:34:39 -04:00
rustc_hir_typeck Check closure args and returns are WF 2024-04-25 10:03:17 -04:00
rustc_incremental Fix ICE when there is a non-Unicode entry in the incremental crate directory 2024-04-21 11:24:55 +01:00
rustc_index Simplify `static_assert_size`s. 2024-04-18 15:36:25 +10:00
rustc_index_macros rustc_index: Add a `ZERO` constant to index types 2024-04-03 19:06:22 +03:00
rustc_infer Rollup merge of #124218 - Xiretza:subsubdiagnostics, r=davidtwco 2024-04-23 17:25:17 +02:00
rustc_interface Auto merge of #123126 - oli-obk:feed_crate_num, r=davidtwco 2024-04-23 20:46:48 +00:00
rustc_lexer Properly handle emojis as literal prefix in macros 2024-04-10 23:19:27 +00:00
rustc_lint Rollup merge of #124218 - Xiretza:subsubdiagnostics, r=davidtwco 2024-04-23 17:25:17 +02:00
rustc_lint_defs Rename feature gate 2024-04-15 23:27:21 -04:00
rustc_llvm Auto merge of #121298 - nikic:writable, r=cuviper 2024-04-25 04:31:56 +00:00
rustc_log Construct `SourceMap` at the same time as `SessionGlobals`. 2024-04-16 13:02:53 +10:00
rustc_macros Allow nesting subdiagnostics 2024-04-21 07:45:03 +00:00
rustc_metadata Error on using `yield` without also using `#[coroutine]` on the closure 2024-04-24 08:05:29 +00:00
rustc_middle Check closure args and returns are WF 2024-04-25 10:03:17 -04:00
rustc_mir_build Rollup merge of #124218 - Xiretza:subsubdiagnostics, r=davidtwco 2024-04-23 17:25:17 +02:00
rustc_mir_dataflow Add a non-shallow fake borrow 2024-04-20 16:01:35 +02:00
rustc_mir_transform Stabilise `inline_const` 2024-04-24 13:12:25 +01:00
rustc_monomorphize Use non-exhaustive matches for TyKind 2024-04-17 20:49:53 +03: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 Auto merge of #104087 - nbdd0121:const, r=scottmcm 2024-04-24 17:23:03 +00:00
rustc_parse_format Simplify `static_assert_size`s. 2024-04-18 15:36:25 +10:00
rustc_passes Rollup merge of #124218 - Xiretza:subsubdiagnostics, r=davidtwco 2024-04-23 17:25:17 +02:00
rustc_pattern_analysis Pass translation closure to add_to_diag_with() as reference 2024-04-21 07:45:03 +00:00
rustc_privacy Actually create ranged int types in the type system. 2024-04-08 12:02:19 +00:00
rustc_query_impl Stabilize generic `NonZero`. 2024-04-22 18:48:47 +02:00
rustc_query_system Rollup merge of #124252 - michaelwoerister:better-forbidden-read-ice, r=oli-obk 2024-04-22 20:26:00 +02:00
rustc_resolve delegation: Support async, const, extern "ABI" and C-variadic functions 2024-04-23 23:05:39 +03:00
rustc_sanitizers Update encode.rs 2024-04-14 14:56:41 +02:00
rustc_serialize Stabilise `inline_const` 2024-04-24 13:12:25 +01:00
rustc_session Rollup merge of #124324 - nnethercote:minor-ast-cleanups, r=estebank 2024-04-25 06:31:04 +02:00
rustc_smir Rollup merge of #122598 - Nadrieril:full-derefpats, r=matthewjasper 2024-04-23 17:25:15 +02:00
rustc_span Rollup merge of #124322 - whosehang:master, r=Nilstrieb 2024-04-25 00:19:54 +02:00
rustc_symbol_mangling Add simple async drop glue generation 2024-04-16 20:45:07 +03:00
rustc_target Auto merge of #117457 - daxpedda:wasm-nontrapping-fptoint, r=wesleywiser 2024-04-21 06:32:10 +00:00
rustc_trait_selection Suggest cloning captured binding in `move` closure 2024-04-24 22:21:16 +00:00
rustc_traits Merge `check_mod_impl_wf` and `check_mod_type_wf` 2024-03-07 06:27:09 +00:00
rustc_transmute ScalarInt: add methods to assert being a (u)int of given size 2024-04-19 13:51:52 +02:00
rustc_ty_utils Auto merge of #121801 - zetanumbers:async_drop_glue, r=oli-obk 2024-04-23 02:10:23 +00:00
rustc_type_ir Rollup merge of #124322 - whosehang:master, r=Nilstrieb 2024-04-25 00:19:54 +02:00
stable_mir Rollup merge of #122598 - Nadrieril:full-derefpats, r=matthewjasper 2024-04-23 17:25:15 +02:00