rust/compiler
Dylan DPC e5a86d7358
Rollup merge of #98705 - WaffleLapkin:closure_binder, r=cjgillot
Implement `for<>` lifetime binder for closures

This PR implements RFC 3216 ([TI](https://github.com/rust-lang/rust/issues/97362)) and allows code like the following:

```rust
let _f = for<'a, 'b> |a: &'a A, b: &'b B| -> &'b C { b.c(a) };
//       ^^^^^^^^^^^--- new!
```

cc ``@Aaron1011`` ``@cjgillot``
2022-07-14 14:14:21 +05:30
..
rustc Don't rerun the build script for the compiler each time on linux 2022-07-10 23:57:25 -05:00
rustc_apfloat
rustc_arena
rustc_ast Add back expr size checks 2022-07-12 21:00:13 +04:00
rustc_ast_lowering Rollup merge of #98705 - WaffleLapkin:closure_binder, r=cjgillot 2022-07-14 14:14:21 +05:30
rustc_ast_passes Parse closure binders 2022-07-12 16:25:16 +04:00
rustc_ast_pretty Parse closure binders 2022-07-12 16:25:16 +04:00
rustc_attr
rustc_borrowck Rollup merge of #98705 - WaffleLapkin:closure_binder, r=cjgillot 2022-07-14 14:14:21 +05:30
rustc_builtin_macros Rollup merge of #98705 - WaffleLapkin:closure_binder, r=cjgillot 2022-07-14 14:14:21 +05:30
rustc_codegen_cranelift Auto merge of #99210 - Dylan-DPC:rollup-879cp1t, r=Dylan-DPC 2022-07-13 17:13:27 +00:00
rustc_codegen_gcc Rollup merge of #99155 - Amanieu:unstable-target-features, r=davidtwco 2022-07-13 19:32:36 +05:30
rustc_codegen_llvm Rollup merge of #99155 - Amanieu:unstable-target-features, r=davidtwco 2022-07-13 19:32:36 +05:30
rustc_codegen_ssa Auto merge of #99210 - Dylan-DPC:rollup-879cp1t, r=Dylan-DPC 2022-07-13 17:13:27 +00:00
rustc_const_eval Auto merge of #99210 - Dylan-DPC:rollup-879cp1t, r=Dylan-DPC 2022-07-13 17:13:27 +00:00
rustc_data_structures
rustc_driver
rustc_error_codes
rustc_error_messages use subdiagnostic for message 2022-07-10 23:43:46 +00:00
rustc_errors Rollup merge of #99075 - danobi:dup_type_hint_sugg, r=petrochenkov 2022-07-11 22:39:05 +02:00
rustc_expand Rollup merge of #98705 - WaffleLapkin:closure_binder, r=cjgillot 2022-07-14 14:14:21 +05:30
rustc_feature Rollup merge of #98705 - WaffleLapkin:closure_binder, r=cjgillot 2022-07-14 14:14:21 +05:30
rustc_fs_util
rustc_graphviz
rustc_hir Rollup merge of #98705 - WaffleLapkin:closure_binder, r=cjgillot 2022-07-14 14:14:21 +05:30
rustc_hir_pretty Rollup merge of #98705 - WaffleLapkin:closure_binder, r=cjgillot 2022-07-14 14:14:21 +05:30
rustc_incremental
rustc_index
rustc_infer Rollup merge of #98705 - WaffleLapkin:closure_binder, r=cjgillot 2022-07-14 14:14:21 +05:30
rustc_interface Rollup merge of #99155 - Amanieu:unstable-target-features, r=davidtwco 2022-07-13 19:32:36 +05:30
rustc_lexer
rustc_lint Rollup merge of #98705 - WaffleLapkin:closure_binder, r=cjgillot 2022-07-14 14:14:21 +05:30
rustc_lint_defs fix documentation 2022-07-13 04:49:32 +00:00
rustc_llvm llvm-wrapper: adapt for LLVM API change 2022-07-12 16:00:52 +00:00
rustc_log
rustc_macros
rustc_metadata
rustc_middle Rollup merge of #98705 - WaffleLapkin:closure_binder, r=cjgillot 2022-07-14 14:14:21 +05:30
rustc_mir_build Rollup merge of #98705 - WaffleLapkin:closure_binder, r=cjgillot 2022-07-14 14:14:21 +05:30
rustc_mir_dataflow add new rval, pull deref early 2022-07-12 14:26:41 +03:00
rustc_mir_transform assigning to a union field can never drop now 2022-07-13 18:27:28 -04:00
rustc_monomorphize
rustc_parse Rollup merge of #98705 - WaffleLapkin:closure_binder, r=cjgillot 2022-07-14 14:14:21 +05:30
rustc_parse_format
rustc_passes Rollup merge of #98705 - WaffleLapkin:closure_binder, r=cjgillot 2022-07-14 14:14:21 +05:30
rustc_plugin_impl
rustc_privacy move else block into the Local struct 2022-07-11 23:20:37 +02:00
rustc_query_impl
rustc_query_system
rustc_resolve Rollup merge of #98705 - WaffleLapkin:closure_binder, r=cjgillot 2022-07-14 14:14:21 +05:30
rustc_save_analysis Rollup merge of #98705 - WaffleLapkin:closure_binder, r=cjgillot 2022-07-14 14:14:21 +05:30
rustc_serialize
rustc_session Rollup merge of #99155 - Amanieu:unstable-target-features, r=davidtwco 2022-07-13 19:32:36 +05:30
rustc_smir
rustc_span Rollup merge of #98705 - WaffleLapkin:closure_binder, r=cjgillot 2022-07-14 14:14:21 +05:30
rustc_symbol_mangling
rustc_target rustc_target: Flip the default for TargetOptions::executables to true 2022-07-11 23:23:51 +03:00
rustc_trait_selection Rollup merge of #98705 - WaffleLapkin:closure_binder, r=cjgillot 2022-07-14 14:14:21 +05:30
rustc_traits
rustc_ty_utils
rustc_type_ir
rustc_typeck Rollup merge of #98705 - WaffleLapkin:closure_binder, r=cjgillot 2022-07-14 14:14:21 +05:30