• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 use pin_project::pin_project;
2 #[pin(__private(project_replace = ProjOwn))]
3 struct TupleStruct<T, U>(#[pin] T, U);
4 #[allow(
5     dead_code,
6     deprecated,
7     explicit_outlives_requirements,
8     single_use_lifetimes,
9     unreachable_pub,
10     unused_tuple_struct_fields,
11     clippy::unknown_clippy_lints,
12     clippy::absolute_paths,
13     clippy::min_ident_chars,
14     clippy::pattern_type_mismatch,
15     clippy::pub_with_shorthand,
16     clippy::redundant_pub_crate,
17     clippy::single_char_lifetime_names,
18     clippy::type_repetition_in_bounds,
19     clippy::missing_docs_in_private_items
20 )]
21 struct ProjOwn<T, U>(::pin_project::__private::PhantomData<T>, U);
22 #[allow(
23     unused_qualifications,
24     deprecated,
25     explicit_outlives_requirements,
26     single_use_lifetimes,
27     unreachable_pub,
28     unused_tuple_struct_fields,
29     clippy::unknown_clippy_lints,
30     clippy::absolute_paths,
31     clippy::min_ident_chars,
32     clippy::pattern_type_mismatch,
33     clippy::pub_with_shorthand,
34     clippy::redundant_pub_crate,
35     clippy::single_char_lifetime_names,
36     clippy::type_repetition_in_bounds,
37     clippy::needless_lifetimes,
38     clippy::semicolon_if_nothing_returned,
39     clippy::use_self,
40     clippy::used_underscore_binding
41 )]
42 const _: () = {
43     #[allow(unused_extern_crates)]
44     extern crate pin_project as _pin_project;
45     #[allow(dead_code, clippy::missing_docs_in_private_items, clippy::mut_mut)]
46     struct __TupleStructProjection<'pin, T, U>(
47         ::pin_project::__private::Pin<&'pin mut (T)>,
48         &'pin mut (U),
49     )
50     where
51         TupleStruct<T, U>: 'pin;
52     #[allow(dead_code, clippy::missing_docs_in_private_items, clippy::ref_option_ref)]
53     struct __TupleStructProjectionRef<'pin, T, U>(
54         ::pin_project::__private::Pin<&'pin (T)>,
55         &'pin (U),
56     )
57     where
58         TupleStruct<T, U>: 'pin;
59     impl<T, U> TupleStruct<T, U> {
60         #[allow(dead_code)]
61         #[inline]
project<'pin>( self: _pin_project::__private::Pin<&'pin mut Self>, ) -> __TupleStructProjection<'pin, T, U>62         fn project<'pin>(
63             self: _pin_project::__private::Pin<&'pin mut Self>,
64         ) -> __TupleStructProjection<'pin, T, U> {
65             unsafe {
66                 let Self(_0, _1) = self.get_unchecked_mut();
67                 __TupleStructProjection(
68                     _pin_project::__private::Pin::new_unchecked(_0),
69                     _1,
70                 )
71             }
72         }
73         #[allow(dead_code)]
74         #[allow(clippy::missing_const_for_fn)]
75         #[inline]
project_ref<'pin>( self: _pin_project::__private::Pin<&'pin Self>, ) -> __TupleStructProjectionRef<'pin, T, U>76         fn project_ref<'pin>(
77             self: _pin_project::__private::Pin<&'pin Self>,
78         ) -> __TupleStructProjectionRef<'pin, T, U> {
79             unsafe {
80                 let Self(_0, _1) = self.get_ref();
81                 __TupleStructProjectionRef(
82                     _pin_project::__private::Pin::new_unchecked(_0),
83                     _1,
84                 )
85             }
86         }
87         #[allow(dead_code)]
88         #[inline]
project_replace( self: _pin_project::__private::Pin<&mut Self>, __replacement: Self, ) -> ProjOwn<T, U>89         fn project_replace(
90             self: _pin_project::__private::Pin<&mut Self>,
91             __replacement: Self,
92         ) -> ProjOwn<T, U> {
93             unsafe {
94                 let __self_ptr: *mut Self = self.get_unchecked_mut();
95                 let __guard = _pin_project::__private::UnsafeOverwriteGuard::new(
96                     __self_ptr,
97                     __replacement,
98                 );
99                 let Self(_0, _1) = &mut *__self_ptr;
100                 let __result = ProjOwn(
101                     _pin_project::__private::PhantomData,
102                     _pin_project::__private::ptr::read(_1),
103                 );
104                 {
105                     let __guard = _pin_project::__private::UnsafeDropInPlaceGuard::new(
106                         _0,
107                     );
108                 }
109                 __result
110             }
111         }
112     }
113     #[forbid(unaligned_references, safe_packed_borrows)]
__assert_not_repr_packed<T, U>(this: &TupleStruct<T, U>)114     fn __assert_not_repr_packed<T, U>(this: &TupleStruct<T, U>) {
115         let _ = &this.0;
116         let _ = &this.1;
117     }
118     #[allow(missing_debug_implementations, unnameable_types)]
119     struct __TupleStruct<'pin, T, U> {
120         __pin_project_use_generics: _pin_project::__private::AlwaysUnpin<
121             'pin,
122             (
123                 _pin_project::__private::PhantomData<T>,
124                 _pin_project::__private::PhantomData<U>,
125             ),
126         >,
127         __field0: T,
128     }
129     impl<'pin, T, U> _pin_project::__private::Unpin for TupleStruct<T, U>
130     where
131         _pin_project::__private::PinnedFieldsOf<
132             __TupleStruct<'pin, T, U>,
133         >: _pin_project::__private::Unpin,
134     {}
135     #[doc(hidden)]
136     unsafe impl<'pin, T, U> _pin_project::UnsafeUnpin for TupleStruct<T, U>
137     where
138         _pin_project::__private::PinnedFieldsOf<
139             __TupleStruct<'pin, T, U>,
140         >: _pin_project::__private::Unpin,
141     {}
142     trait TupleStructMustNotImplDrop {}
143     #[allow(clippy::drop_bounds, drop_bounds)]
144     impl<T: _pin_project::__private::Drop> TupleStructMustNotImplDrop for T {}
145     impl<T, U> TupleStructMustNotImplDrop for TupleStruct<T, U> {}
146     #[doc(hidden)]
147     impl<T, U> _pin_project::__private::PinnedDrop for TupleStruct<T, U> {
drop(self: _pin_project::__private::Pin<&mut Self>)148         unsafe fn drop(self: _pin_project::__private::Pin<&mut Self>) {}
149     }
150 };
main()151 fn main() {}
152