aboutsummaryrefslogtreecommitdiff
path: root/examples/project_replace-expanded.rs
diff options
context:
space:
mode:
Diffstat (limited to 'examples/project_replace-expanded.rs')
-rw-r--r--examples/project_replace-expanded.rs50
1 files changed, 27 insertions, 23 deletions
diff --git a/examples/project_replace-expanded.rs b/examples/project_replace-expanded.rs
index ec9f00e..661a0ac 100644
--- a/examples/project_replace-expanded.rs
+++ b/examples/project_replace-expanded.rs
@@ -5,7 +5,7 @@
//
// use pin_project::pin_project;
//
-// #[pin_project(Replace)]
+// #[pin_project(project_replace)]
// struct Struct<T, U> {
// #[pin]
// pinned: T,
@@ -27,64 +27,67 @@ struct Struct<T, U> {
}
#[doc(hidden)]
-#[allow(clippy::mut_mut)] // This lint warns `&mut &mut <ty>`.
-#[allow(dead_code)] // This lint warns unused fields/variants.
+#[allow(dead_code)]
#[allow(single_use_lifetimes)]
+#[allow(clippy::mut_mut)]
+#[allow(clippy::type_repetition_in_bounds)]
struct __StructProjection<'pin, T, U>
where
Struct<T, U>: 'pin,
{
- pinned: ::pin_project::__reexport::pin::Pin<&'pin mut (T)>,
+ pinned: ::pin_project::__private::Pin<&'pin mut (T)>,
unpinned: &'pin mut (U),
}
#[doc(hidden)]
-#[allow(dead_code)] // This lint warns unused fields/variants.
+#[allow(dead_code)]
#[allow(single_use_lifetimes)]
+#[allow(clippy::type_repetition_in_bounds)]
struct __StructProjectionRef<'pin, T, U>
where
Struct<T, U>: 'pin,
{
- pinned: ::pin_project::__reexport::pin::Pin<&'pin (T)>,
+ pinned: ::pin_project::__private::Pin<&'pin (T)>,
unpinned: &'pin (U),
}
-
#[doc(hidden)]
-#[allow(dead_code)] // This lint warns unused fields/variants.
+#[allow(dead_code)]
+#[allow(unreachable_pub)]
#[allow(single_use_lifetimes)]
struct __StructProjectionOwned<T, U> {
- pinned: ::pin_project::__reexport::marker::PhantomData<T>,
+ pinned: ::pin_project::__private::PhantomData<T>,
unpinned: U,
}
#[doc(hidden)]
#[allow(non_upper_case_globals)]
#[allow(single_use_lifetimes)]
-const __SCOPE_Struct: () = {
+#[allow(clippy::used_underscore_binding)]
+const _: () = {
impl<T, U> Struct<T, U> {
fn project<'pin>(
- self: ::pin_project::__reexport::pin::Pin<&'pin mut Self>,
+ self: ::pin_project::__private::Pin<&'pin mut Self>,
) -> __StructProjection<'pin, T, U> {
unsafe {
let Self { pinned, unpinned } = self.get_unchecked_mut();
__StructProjection {
- pinned: ::pin_project::__reexport::pin::Pin::new_unchecked(pinned),
+ pinned: ::pin_project::__private::Pin::new_unchecked(pinned),
unpinned,
}
}
}
fn project_ref<'pin>(
- self: ::pin_project::__reexport::pin::Pin<&'pin Self>,
+ self: ::pin_project::__private::Pin<&'pin Self>,
) -> __StructProjectionRef<'pin, T, U> {
unsafe {
let Self { pinned, unpinned } = self.get_ref();
__StructProjectionRef {
- pinned: ::pin_project::__reexport::pin::Pin::new_unchecked(pinned),
+ pinned: ::pin_project::__private::Pin::new_unchecked(pinned),
unpinned,
}
}
}
fn project_replace(
- self: ::pin_project::__reexport::pin::Pin<&mut Self>,
+ self: ::pin_project::__private::Pin<&mut Self>,
__replacement: Self,
) -> __StructProjectionOwned<T, U> {
unsafe {
@@ -93,15 +96,15 @@ const __SCOPE_Struct: () = {
// First, extract all the unpinned fields
let __result = __StructProjectionOwned {
- pinned: ::pin_project::__reexport::marker::PhantomData,
- unpinned: ::pin_project::__reexport::ptr::read(unpinned),
+ pinned: ::pin_project::__private::PhantomData,
+ unpinned: ::pin_project::__private::ptr::read(unpinned),
};
// Destructors will run in reverse order, so next create a guard to overwrite
// `self` with the replacement value without calling destructors.
let __guard = ::pin_project::__private::UnsafeOverwriteGuard {
target: __self_ptr,
- value: ::pin_project::__reexport::mem::ManuallyDrop::new(__replacement),
+ value: ::pin_project::__private::ManuallyDrop::new(__replacement),
};
// Now create guards to drop all the pinned fields
@@ -127,8 +130,8 @@ const __SCOPE_Struct: () = {
__pin_project_use_generics: ::pin_project::__private::AlwaysUnpin<'pin, (T, U)>,
__field0: T,
}
- impl<'pin, T, U> ::pin_project::__reexport::marker::Unpin for Struct<T, U> where
- __Struct<'pin, T, U>: ::pin_project::__reexport::marker::Unpin
+ impl<'pin, T, U> ::pin_project::__private::Unpin for Struct<T, U> where
+ __Struct<'pin, T, U>: ::pin_project::__private::Unpin
{
}
unsafe impl<T, U> ::pin_project::UnsafeUnpin for Struct<T, U> {}
@@ -138,13 +141,14 @@ const __SCOPE_Struct: () = {
// See ./struct-default-expanded.rs for details.
trait StructMustNotImplDrop {}
#[allow(clippy::drop_bounds)]
- impl<T: ::pin_project::__reexport::ops::Drop> StructMustNotImplDrop for T {}
+ impl<T: ::pin_project::__private::Drop> StructMustNotImplDrop for T {}
impl<T, U> StructMustNotImplDrop for Struct<T, U> {}
impl<T, U> ::pin_project::__private::PinnedDrop for Struct<T, U> {
- unsafe fn drop(self: ::pin_project::__reexport::pin::Pin<&mut Self>) {}
+ unsafe fn drop(self: ::pin_project::__private::Pin<&mut Self>) {}
}
- // Ensure that it's impossible to use pin projections on a #[repr(packed)] struct.
+ // Ensure that it's impossible to use pin projections on a #[repr(packed)]
+ // struct.
//
// See ./struct-default-expanded.rs and https://github.com/taiki-e/pin-project/pull/34
// for details.