From 24f385872134179e20d371e8f927911927df894a Mon Sep 17 00:00:00 2001 From: Taiki Endo Date: Fri, 5 Apr 2024 22:52:21 +0900 Subject: [PATCH] Make pin_mut! soft-deprecated in favor of std::pin::pin! --- README.md | 5 +++++ src/lib.rs | 5 +++++ src/projection.rs | 4 ++-- src/stack_pin.rs | 3 +++ 4 files changed, 15 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 127b568..a684865 100644 --- a/README.md +++ b/README.md @@ -18,6 +18,11 @@ Utilities for pinning [Documentation][docs-url] +**Note:** Since Rust 1.68, all APIs in this crate are now soft-deprecated or deprecated: + +- `pin_utils::pin_mut!` is soft-deprecated in favor of [`pin!` macro in the standard library](https://doc.rust-lang.org/std/pin/macro.pin.html) that stabilized in Rust 1.68. +- `pin_utils::{unsafe_pinned,unsafe_unpinned}` are **deprecated** in favor of safe alternatives: [pin-project](https://crates.io/crates/pin-project), [pin-project-lite](https://crates.io/crates/pin-project-lite) + ## Usage First, add this to your `Cargo.toml`: diff --git a/src/lib.rs b/src/lib.rs index 86312dd..ecac708 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,4 +1,9 @@ //! Utilities for pinning +//! +//! **Note:** Since Rust 1.68, all APIs in this crate are now soft-deprecated or deprecated: +//! +//! - `pin_utils::pin_mut!` is soft-deprecated in favor of [`pin!` macro in the standard library](https://doc.rust-lang.org/std/pin/macro.pin.html) that stabilized in Rust 1.68. +//! - `pin_utils::{unsafe_pinned,unsafe_unpinned}` are **deprecated** in favor of safe alternatives: [pin-project](https://crates.io/crates/pin-project), [pin-project-lite](https://crates.io/crates/pin-project-lite) #![no_std] #![warn(missing_docs, missing_debug_implementations, rust_2018_idioms)] diff --git a/src/projection.rs b/src/projection.rs index 158cc94..a9b40d8 100644 --- a/src/projection.rs +++ b/src/projection.rs @@ -38,7 +38,7 @@ /// [`drop`]: Drop::drop #[deprecated( since = "0.1.1", - note = "this macro is not safe; use pin-project or pin-project-lite crate instead" + note = "this macro is not safe; use safe pin-project or pin-project-lite crate instead" )] #[macro_export] macro_rules! unsafe_pinned { @@ -87,7 +87,7 @@ macro_rules! unsafe_pinned { /// [`Pin`]: core::pin::Pin #[deprecated( since = "0.1.1", - note = "this macro is not safe; use pin-project or pin-project-lite crate instead" + note = "this macro is not safe; use safe pin-project or pin-project-lite crate instead" )] #[macro_export] macro_rules! unsafe_unpinned { diff --git a/src/stack_pin.rs b/src/stack_pin.rs index 19d0fa4..33ef656 100644 --- a/src/stack_pin.rs +++ b/src/stack_pin.rs @@ -2,6 +2,9 @@ /// /// Can safely pin values that are not `Unpin` by taking ownership. /// +/// **Note:** Since Rust 1.68, this macro is soft-deprecated in favor of +/// [`pin!`](core::pin::pin) macro in the standard library. +/// /// # Example /// /// ```rust