@@ -546,6 +546,7 @@ pub fn pinned_drop(args: TokenStream, input: TokenStream) -> TokenStream {
546546/// ## Examples
547547///
548548/// ```rust
549+ /// # #![allow(deprecated)]
549550/// use pin_project::{pin_project, project};
550551/// use std::pin::Pin;
551552///
@@ -576,6 +577,7 @@ pub fn pinned_drop(args: TokenStream, input: TokenStream) -> TokenStream {
576577/// ## Examples
577578///
578579/// ```rust
580+ /// # #![allow(deprecated)]
579581/// use pin_project::{pin_project, project};
580582/// use std::pin::Pin;
581583///
@@ -616,6 +618,7 @@ pub fn pinned_drop(args: TokenStream, input: TokenStream) -> TokenStream {
616618/// ## Examples
617619///
618620/// ```rust
621+ /// # #![allow(deprecated)]
619622/// use pin_project::{pin_project, project};
620623/// use std::pin::Pin;
621624///
@@ -650,6 +653,7 @@ pub fn pinned_drop(args: TokenStream, input: TokenStream) -> TokenStream {
650653/// ## Examples
651654///
652655/// ```rust
656+ /// # #![allow(deprecated)]
653657/// # mod dox {
654658/// use pin_project::pin_project;
655659///
@@ -676,6 +680,16 @@ pub fn pinned_drop(args: TokenStream, input: TokenStream) -> TokenStream {
676680/// }
677681/// # }
678682/// ```
683+ #[ cfg_attr(
684+ deprecated_proc_macro,
685+ deprecated(
686+ since = "0.4.21" ,
687+ note = "consider naming projected type by passing `project` \
688+ argument to #[pin_project] attribute instead, see release note \
689+ <https://github.com/taiki-e/pin-project/releases/tag/v0.4.21> \
690+ for details"
691+ )
692+ ) ]
679693#[ proc_macro_attribute]
680694pub fn project ( args : TokenStream , input : TokenStream ) -> TokenStream {
681695 let input = syn:: parse_macro_input!( input) ;
@@ -691,6 +705,16 @@ pub fn project(args: TokenStream, input: TokenStream) -> TokenStream {
691705/// See [`#[project]`][`project`] attribute for more details.
692706///
693707/// [`project`]: ./attr.project.html
708+ #[ cfg_attr(
709+ deprecated_proc_macro,
710+ deprecated(
711+ since = "0.4.21" ,
712+ note = "consider naming projected type by passing `project_ref` \
713+ argument to #[pin_project] attribute instead, see release note \
714+ <https://github.com/taiki-e/pin-project/releases/tag/v0.4.21> \
715+ for details"
716+ )
717+ ) ]
694718#[ proc_macro_attribute]
695719pub fn project_ref ( args : TokenStream , input : TokenStream ) -> TokenStream {
696720 let input = syn:: parse_macro_input!( input) ;
@@ -706,6 +730,16 @@ pub fn project_ref(args: TokenStream, input: TokenStream) -> TokenStream {
706730/// See [`#[project]`][`project`] attribute for more details.
707731///
708732/// [`project`]: ./attr.project.html
733+ #[ cfg_attr(
734+ deprecated_proc_macro,
735+ deprecated(
736+ since = "0.4.21" ,
737+ note = "consider naming projected type by passing `project_replace` \
738+ argument to #[pin_project] attribute instead, see release note \
739+ <https://github.com/taiki-e/pin-project/releases/tag/v0.4.21> \
740+ for details"
741+ )
742+ ) ]
709743#[ proc_macro_attribute]
710744pub fn project_replace ( args : TokenStream , input : TokenStream ) -> TokenStream {
711745 let input = syn:: parse_macro_input!( input) ;
0 commit comments