rust/compiler
Jubilee 5a8fcab713
Rollup merge of #130518 - scottmcm:stabilize-controlflow-extra, r=dtolnay
Stabilize the `map`/`value` methods on `ControlFlow`

And fix the stability attribute on the `pub use` in `core::ops`.

libs-api in https://github.com/rust-lang/rust/issues/75744#issuecomment-2231214910 seemed reasonably happy with naming for these, so let's try for an FCP.

Summary:
```rust
impl<B, C> ControlFlow<B, C> {
    pub fn break_value(self) -> Option<B>;
    pub fn map_break<T>(self, f: impl FnOnce(B) -> T) -> ControlFlow<T, C>;
    pub fn continue_value(self) -> Option<C>;
    pub fn map_continue<T>(self, f: impl FnOnce(C) -> T) -> ControlFlow<B, T>;
}
```

Resolves #75744

``@rustbot`` label +needs-fcp +t-libs-api -t-libs

---

Aside, in case it keeps someone else from going down the same dead end: I looked at the `{break,continue}_value` methods and tried to make them `const` as part of this, but that's disallowed because of not having `const Drop`, so put it back to not even unstably-const.
2024-10-04 14:11:34 -07:00
..
rustc disable size asserts in the compiler when randomizing layouts 2024-08-31 23:56:45 +02:00
rustc_abi Reformat using the new identifier sorting from rustfmt 2024-09-22 19:11:29 -04:00
rustc_arena Remove unnecessary lifetimes from Arena. 2024-09-13 15:33:19 +10:00
rustc_ast Implement boolean lit support in cfg predicates 2024-10-01 10:01:33 +02:00
rustc_ast_ir Add warn(unreachable_pub) to several crates. 2024-08-16 08:46:13 +10:00
rustc_ast_lowering Move in_trait into OpaqueTyOrigin 2024-10-02 22:48:26 -04:00
rustc_ast_passes Rollup merge of #130419 - nnethercote:streamline-HirCollector, r=GuillaumeGomez 2024-10-03 13:47:59 +02:00
rustc_ast_pretty Reformat using the new identifier sorting from rustfmt 2024-09-22 19:11:29 -04:00
rustc_attr Rollup merge of #131034 - Urgau:cfg-true-false, r=nnethercote 2024-10-04 15:42:53 +02:00
rustc_baked_icu_data Don't add warn(unreachable_pub) to rustc_baked_icu. 2024-08-16 08:46:52 +10:00
rustc_borrowck Rollup merge of #130518 - scottmcm:stabilize-controlflow-extra, r=dtolnay 2024-10-04 14:11:34 -07:00
rustc_builtin_macros Use ast::NestedMetaItem when evaluating cfg predicate 2024-10-01 10:01:09 +02:00
rustc_codegen_cranelift Use wide pointers consistenly across the compiler 2024-10-04 14:06:48 +02:00
rustc_codegen_gcc Use wide pointers consistenly across the compiler 2024-10-04 14:06:48 +02:00
rustc_codegen_llvm Use wide pointers consistenly across the compiler 2024-10-04 14:06:48 +02:00
rustc_codegen_ssa Rollup merge of #131202 - Urgau:wide-ptrs-compiler, r=jieyouxu 2024-10-04 15:42:54 +02:00
rustc_const_eval Use wide pointers consistenly across the compiler 2024-10-04 14:06:48 +02:00
rustc_data_structures Auto merge of #130874 - klensy:bumpme, r=jieyouxu 2024-09-28 05:15:29 +00:00
rustc_driver
rustc_driver_impl bump few deps 2024-09-27 09:23:05 +03:00
rustc_error_codes Use wide pointers consistenly across the compiler 2024-10-04 14:06:48 +02:00
rustc_error_messages Reformat using the new identifier sorting from rustfmt 2024-09-22 19:11:29 -04:00
rustc_errors bump few deps 2024-09-27 09:23:05 +03:00
rustc_expand Rollup merge of #131034 - Urgau:cfg-true-false, r=nnethercote 2024-10-04 15:42:53 +02:00
rustc_feature Rollup merge of #131034 - Urgau:cfg-true-false, r=nnethercote 2024-10-04 15:42:53 +02:00
rustc_fluent_macro Reformat using the new identifier sorting from rustfmt 2024-09-22 19:11:29 -04:00
rustc_fs_util Reformat using the new identifier sorting from rustfmt 2024-09-22 19:11:29 -04:00
rustc_graphviz Reformat using the new identifier sorting from rustfmt 2024-09-22 19:11:29 -04:00
rustc_hir Move in_trait into OpaqueTyOrigin 2024-10-02 22:48:26 -04:00
rustc_hir_analysis Rollup merge of #130518 - scottmcm:stabilize-controlflow-extra, r=dtolnay 2024-10-04 14:11:34 -07:00
rustc_hir_pretty Reformat using the new identifier sorting from rustfmt 2024-09-22 19:11:29 -04:00
rustc_hir_typeck Rollup merge of #130518 - scottmcm:stabilize-controlflow-extra, r=dtolnay 2024-10-04 14:11:34 -07:00
rustc_incremental Dogfood feature(file_buffered) 2024-09-24 14:25:16 -07:00
rustc_index Reformat using the new identifier sorting from rustfmt 2024-09-22 19:11:29 -04:00
rustc_index_macros
rustc_infer Rollup merge of #130518 - scottmcm:stabilize-controlflow-extra, r=dtolnay 2024-10-04 14:11:34 -07:00
rustc_interface restore prior more readable suggestion 2024-10-02 00:49:46 -06:00
rustc_lexer Reformat using the new identifier sorting from rustfmt 2024-09-22 19:11:29 -04:00
rustc_lint Rollup merge of #130518 - scottmcm:stabilize-controlflow-extra, r=dtolnay 2024-10-04 14:11:34 -07:00
rustc_lint_defs Reformat using the new identifier sorting from rustfmt 2024-09-22 19:11:29 -04:00
rustc_llvm Unpin cc and upgrade to the latest version 2024-09-30 13:31:42 -04:00
rustc_log Reformat using the new identifier sorting from rustfmt 2024-09-22 19:11:29 -04:00
rustc_macros Reformat using the new identifier sorting from rustfmt 2024-09-22 19:11:29 -04:00
rustc_metadata Rollup merge of #130518 - scottmcm:stabilize-controlflow-extra, r=dtolnay 2024-10-04 14:11:34 -07:00
rustc_middle Rollup merge of #131202 - Urgau:wide-ptrs-compiler, r=jieyouxu 2024-10-04 15:42:54 +02:00
rustc_mir_build tweak Const::identity_unevaluated name and docs 2024-09-28 21:28:08 +02:00
rustc_mir_dataflow fix extension for -Zdump-mir-dataflow graphviz files 2024-10-01 23:16:35 +00:00
rustc_mir_transform Rollup merge of #131202 - Urgau:wide-ptrs-compiler, r=jieyouxu 2024-10-04 15:42:54 +02:00
rustc_monomorphize Use wide pointers consistenly across the compiler 2024-10-04 14:06:48 +02:00
rustc_next_trait_solver Auto merge of #130821 - lcnr:nalgebra-hang-2, r=compiler-errors 2024-10-02 19:21:44 +00:00
rustc_parse Rollup merge of #131034 - Urgau:cfg-true-false, r=nnethercote 2024-10-04 15:42:53 +02:00
rustc_parse_format Reformat using the new identifier sorting from rustfmt 2024-09-22 19:11:29 -04:00
rustc_passes Remove redundant in_trait from hir::TyKind::OpaqueDef 2024-10-02 21:59:55 -04:00
rustc_pattern_analysis cleanup: don't clone types that are Copy 2024-09-29 13:31:30 +02:00
rustc_privacy Visit in embargo visitor if trait method has body 2024-10-02 23:00:08 -04:00
rustc_query_impl Handle rustc_query_impl cases of rustc::potential_query_instability lint 2024-10-03 12:47:08 +03:00
rustc_query_system add unstable support for outputting file checksums for use in cargo 2024-10-01 21:23:20 -06:00
rustc_resolve rustdoc: prevent ctors from resolving 2024-10-03 22:01:23 -07:00
rustc_sanitizers Compiler: Rename "object safe" to "dyn compatible" 2024-09-25 13:26:48 +02:00
rustc_serialize Reformat using the new identifier sorting from rustfmt 2024-09-22 19:11:29 -04:00
rustc_session Rollup merge of #131034 - Urgau:cfg-true-false, r=nnethercote 2024-10-04 15:42:53 +02:00
rustc_smir Rollup merge of #130826 - fmease:compiler-mv-obj-safe-dyn-compat, r=compiler-errors 2024-09-27 21:35:08 +02:00
rustc_span Rollup merge of #131034 - Urgau:cfg-true-false, r=nnethercote 2024-10-04 15:42:53 +02:00
rustc_symbol_mangling Rollup merge of #130344 - Jaic1:fix-116306, r=BoxyUwU 2024-09-23 06:45:33 +02:00
rustc_target Rollup merge of #130453 - randomPoison:trusty-x86, r=pnkfelix 2024-10-04 14:11:34 -07:00
rustc_trait_selection Rollup merge of #130518 - scottmcm:stabilize-controlflow-extra, r=dtolnay 2024-10-04 14:11:34 -07:00
rustc_traits Compiler: Rename "object safe" to "dyn compatible" 2024-09-25 13:26:48 +02:00
rustc_transmute TransmuteFrom: Gracefully handle unnormalized types and normalization errors 2024-10-01 20:52:17 +00:00
rustc_ty_utils Rollup merge of #131202 - Urgau:wide-ptrs-compiler, r=jieyouxu 2024-10-04 15:42:54 +02:00
rustc_type_ir Auto merge of #130821 - lcnr:nalgebra-hang-2, r=compiler-errors 2024-10-02 19:21:44 +00:00
rustc_type_ir_macros Reformat using the new identifier sorting from rustfmt 2024-09-22 19:11:29 -04:00
stable_mir Use wide pointers consistenly across the compiler 2024-10-04 14:06:48 +02:00