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 Update smallvec to 1.8.1. 2022-06-27 08:48:55 +10:00
rustc_arena Rollup merge of #97711 - Nilstrieb:rustc-arena-ub, r=wesleywiser 2022-07-07 18:06:49 +05:30
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 UnsafeCell now has no niches, ever. 2022-07-07 10:46:22 +00:00
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 Allow to create definitions inside the query system. 2022-07-06 22:50:55 +02:00
rustc_driver Fix bug in rustdoc -Whelp 2022-07-02 02:11:49 -05:00
rustc_error_codes Rollup merge of #97423 - m-ou-se:memory-ordering-intrinsics, r=tmiasko 2022-06-29 10:28:18 +05:30
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 Fully stabilize NLL 2022-06-03 17:16:41 -04:00
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 Rollup merge of #98844 - cjgillot:deep-visit, r=jyn514 2022-07-07 20:33:24 +02:00
rustc_index Use a bitset instead of a hash map in HIR ID validator 2022-07-04 08:30:13 +02:00
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 fix typo in comment 2022-06-28 19:59:09 +05:30
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 clippy::complexity fixes 2022-05-26 13:14:24 +02:00
rustc_macros Use dashes instead of underscores in fluent names 2022-07-08 03:37:36 +00:00
rustc_metadata Auto merge of #99024 - matthiaskrgr:rollup-8ygpcpg, r=matthiaskrgr 2022-07-07 20:55:34 +00:00
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 Update TypeVisitor paths 2022-07-06 06:41:53 +01:00
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 remove currently unused deps 2022-06-13 22:20:51 +03:00
rustc_privacy move else block into the Local struct 2022-07-11 23:20:37 +02:00
rustc_query_impl Use a dedicated DepKind for the forever-red node. 2022-07-06 23:20:12 +02:00
rustc_query_system Auto merge of #99028 - tmiasko:inline, r=estebank 2022-07-09 04:34:51 +00:00
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 Update smallvec to 1.8.1. 2022-06-27 08:48:55 +10:00
rustc_session Rollup merge of #99155 - Amanieu:unstable-target-features, r=davidtwco 2022-07-13 19:32:36 +05:30
rustc_smir Rustfmt 2022-06-02 10:29:00 +00:00
rustc_span Rollup merge of #98705 - WaffleLapkin:closure_binder, r=cjgillot 2022-07-14 14:14:21 +05:30
rustc_symbol_mangling Allow to create definitions inside the query system. 2022-07-06 22:50:55 +02:00
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 Update TypeVisitor paths 2022-07-06 06:41:53 +01:00
rustc_ty_utils Update TypeVisitor paths 2022-07-06 06:41:53 +01:00
rustc_type_ir Auto merge of #98614 - oli-obk:take_unsound_opaque_types, r=wesleywiser 2022-07-08 17:55:26 +00:00
rustc_typeck Rollup merge of #98705 - WaffleLapkin:closure_binder, r=cjgillot 2022-07-14 14:14:21 +05:30