mirror of
https://github.com/rust-lang/rust.git
synced 2025-06-21 03:57:38 +00:00

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.
45 lines
1.2 KiB
Rust
45 lines
1.2 KiB
Rust
// tidy-alphabetical-start
|
|
#![allow(internal_features)]
|
|
#![doc(html_root_url = "https://doc.rust-lang.org/nightly/nightly-rustc/")]
|
|
#![doc(rust_logo)]
|
|
#![feature(coroutines)]
|
|
#![feature(decl_macro)]
|
|
#![feature(error_iter)]
|
|
#![feature(extract_if)]
|
|
#![feature(file_buffered)]
|
|
#![feature(if_let_guard)]
|
|
#![feature(iter_from_coroutine)]
|
|
#![feature(let_chains)]
|
|
#![feature(macro_metavar_expr)]
|
|
#![feature(min_specialization)]
|
|
#![feature(never_type)]
|
|
#![feature(proc_macro_internals)]
|
|
#![feature(rustdoc_internals)]
|
|
#![feature(trusted_len)]
|
|
#![warn(unreachable_pub)]
|
|
// tidy-alphabetical-end
|
|
|
|
extern crate proc_macro;
|
|
|
|
pub use rmeta::provide;
|
|
|
|
mod dependency_format;
|
|
mod foreign_modules;
|
|
mod native_libs;
|
|
mod rmeta;
|
|
|
|
pub mod creader;
|
|
pub mod errors;
|
|
pub mod fs;
|
|
pub mod locator;
|
|
|
|
pub use creader::{DylibError, load_symbol_from_dylib};
|
|
pub use fs::{METADATA_FILENAME, emit_wrapper_file};
|
|
pub use native_libs::{
|
|
find_native_static_library, try_find_native_dynamic_library, try_find_native_static_library,
|
|
walk_native_lib_search_dirs,
|
|
};
|
|
pub use rmeta::{EncodedMetadata, METADATA_HEADER, encode_metadata, rendered_const};
|
|
|
|
rustc_fluent_macro::fluent_messages! { "../messages.ftl" }
|