1
Fork 0

Rollup merge of #133678 - Urgau:stabilize-ptr_fn_addr_eq, r=jhpratt

Stabilize `ptr::fn_addr_eq`

This PR stabilize the `ptr::fn_addr_eq` function.

FCP completed in https://github.com/rust-lang/rust/issues/129322#issuecomment-2508304516
Closes https://github.com/rust-lang/rust/issues/129322
This commit is contained in:
Jacob Pratt 2024-12-01 22:10:24 -05:00 committed by GitHub
commit 10f3735a02
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -2111,7 +2111,6 @@ pub fn addr_eq<T: ?Sized, U: ?Sized>(p: *const T, q: *const U) -> bool {
/// when compiled with optimization: /// when compiled with optimization:
/// ///
/// ``` /// ```
/// # #![feature(ptr_fn_addr_eq)]
/// let f: fn(i32) -> i32 = |x| x; /// let f: fn(i32) -> i32 = |x| x;
/// let g: fn(i32) -> i32 = |x| x + 0; // different closure, different body /// let g: fn(i32) -> i32 = |x| x + 0; // different closure, different body
/// let h: fn(u32) -> u32 = |x| x + 0; // different signature too /// let h: fn(u32) -> u32 = |x| x + 0; // different signature too
@ -2136,7 +2135,6 @@ pub fn addr_eq<T: ?Sized, U: ?Sized>(p: *const T, q: *const U) -> bool {
/// # Examples /// # Examples
/// ///
/// ``` /// ```
/// #![feature(ptr_fn_addr_eq)]
/// use std::ptr; /// use std::ptr;
/// ///
/// fn a() { println!("a"); } /// fn a() { println!("a"); }
@ -2145,7 +2143,7 @@ pub fn addr_eq<T: ?Sized, U: ?Sized>(p: *const T, q: *const U) -> bool {
/// ``` /// ```
/// ///
/// [subtype]: https://doc.rust-lang.org/reference/subtyping.html /// [subtype]: https://doc.rust-lang.org/reference/subtyping.html
#[unstable(feature = "ptr_fn_addr_eq", issue = "129322")] #[stable(feature = "ptr_fn_addr_eq", since = "CURRENT_RUSTC_VERSION")]
#[inline(always)] #[inline(always)]
#[must_use = "function pointer comparison produces a value"] #[must_use = "function pointer comparison produces a value"]
pub fn fn_addr_eq<T: FnPtr, U: FnPtr>(f: T, g: U) -> bool { pub fn fn_addr_eq<T: FnPtr, U: FnPtr>(f: T, g: U) -> bool {