blob: 5d1ac11d9959f905b516ca2620eb2a15580408ef [file] [log] [blame]
Marcel Hlopko14ee3c82022-02-09 09:46:23 +00001// Part of the Crubit project, under the Apache License v2.0 with LLVM
2// Exceptions. See /LICENSE for license information.
3// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
4
Lukasz Anforowicz19e057d2022-10-28 12:03:23 -07005// Automatically @generated Rust bindings for the following C++ target:
Marcel Hlopko14ee3c82022-02-09 09:46:23 +00006// //rs_bindings_from_cc/test/golden:clang_attrs_cc
Devin Jeanpierre6ed0f602023-03-01 17:22:54 -08007// Features: experimental, supported
Lukasz Anforowicz19e057d2022-10-28 12:03:23 -07008
Devin Jeanpierre43356432023-01-13 12:39:02 -08009#![rustfmt::skip]
Googlerd680b1c2023-03-23 13:45:19 -070010#![feature(arbitrary_self_types)]
Devin Jeanpierre43356432023-01-13 12:39:02 -080011#![feature(custom_inner_attributes, negative_impls, type_alias_impl_trait)]
Lukasz Anforowicz16889da2022-10-06 13:37:48 -070012#![allow(stable_features)]
Googler61afe912023-03-03 13:59:15 -080013#![no_std]
Lukasz Anforowicz4bb78a72023-03-06 14:10:37 -080014#![allow(improper_ctypes)]
Marcel Hlopko14ee3c82022-02-09 09:46:23 +000015#![allow(non_camel_case_types)]
16#![allow(non_snake_case)]
Lukasz Anforowicz945919c2022-05-12 13:08:47 -070017#![allow(non_upper_case_globals)]
Lukasz Anforowiczcc262632022-05-12 15:07:43 -070018#![deny(warnings)]
Marcel Hlopko14ee3c82022-02-09 09:46:23 +000019
Marcel Hlopkoe31c8682022-03-16 19:44:36 +000020// Part of the Crubit project, under the Apache License v2.0 with LLVM
21// Exceptions. See /LICENSE for license information.
22// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
23
Devin Jeanpierrecd5ebf32022-07-08 05:31:55 -070024#[::ctor::recursively_pinned]
Marcel Hlopko14ee3c82022-02-09 09:46:23 +000025#[repr(C, align(64))]
26pub struct HasCustomAlignment {
Googlerbed0a2a2023-03-01 11:53:43 -080027 __non_field_data: [::core::mem::MaybeUninit<u8>; 64],
Marcel Hlopko14ee3c82022-02-09 09:46:23 +000028}
Rosica Dejanovska8283fe62022-05-09 10:04:28 -070029forward_declare::unsafe_define!(
30 forward_declare::symbol!("HasCustomAlignment"),
31 crate::HasCustomAlignment
32);
Marcel Hlopko14ee3c82022-02-09 09:46:23 +000033
Devin Jeanpierrecd5ebf32022-07-08 05:31:55 -070034impl ::ctor::CtorNew<()> for HasCustomAlignment {
35 type CtorType = impl ::ctor::Ctor<Output = Self>;
Devin Jeanpierrecf8d6db2022-06-08 12:32:10 -070036 #[inline(always)]
37 fn ctor_new(args: ()) -> Self::CtorType {
38 let () = args;
Devin Jeanpierre93927e82022-08-01 14:05:54 -070039 unsafe {
Googlerbed0a2a2023-03-01 11:53:43 -080040 ::ctor::FnCtor::new(
41 move |dest: ::core::pin::Pin<&mut ::core::mem::MaybeUninit<Self>>| {
42 crate::detail::__rust_thunk___ZN18HasCustomAlignmentC1Ev(
43 ::core::pin::Pin::into_inner_unchecked(dest),
44 );
45 },
46 )
Devin Jeanpierre93927e82022-08-01 14:05:54 -070047 }
Devin Jeanpierrecf8d6db2022-06-08 12:32:10 -070048 }
49}
Marcel Hlopko14ee3c82022-02-09 09:46:23 +000050
Felipe de A. Mello Pereira6f3cf162023-01-16 00:48:25 -080051impl<'b> ::ctor::CtorNew<&'b Self> for HasCustomAlignment {
Devin Jeanpierre83cb2dc2022-07-15 01:50:28 -070052 type CtorType = impl ::ctor::Ctor<Output = Self> + ::ctor::Captures<'b>;
Devin Jeanpierrecf8d6db2022-06-08 12:32:10 -070053 #[inline(always)]
Felipe de A. Mello Pereira6f3cf162023-01-16 00:48:25 -080054 fn ctor_new(args: &'b Self) -> Self::CtorType {
Devin Jeanpierrecf8d6db2022-06-08 12:32:10 -070055 let __param_0 = args;
Devin Jeanpierre93927e82022-08-01 14:05:54 -070056 unsafe {
Googlerbed0a2a2023-03-01 11:53:43 -080057 ::ctor::FnCtor::new(
58 move |dest: ::core::pin::Pin<&mut ::core::mem::MaybeUninit<Self>>| {
59 crate::detail::__rust_thunk___ZN18HasCustomAlignmentC1ERKS_(
60 ::core::pin::Pin::into_inner_unchecked(dest),
61 __param_0,
62 );
63 },
64 )
Devin Jeanpierre93927e82022-08-01 14:05:54 -070065 }
Devin Jeanpierrecf8d6db2022-06-08 12:32:10 -070066 }
67}
Felipe de A. Mello Pereira6f3cf162023-01-16 00:48:25 -080068impl<'b> ::ctor::CtorNew<(&'b Self,)> for HasCustomAlignment {
Devin Jeanpierre83cb2dc2022-07-15 01:50:28 -070069 type CtorType = impl ::ctor::Ctor<Output = Self> + ::ctor::Captures<'b>;
Devin Jeanpierrecf8d6db2022-06-08 12:32:10 -070070 #[inline(always)]
Felipe de A. Mello Pereira6f3cf162023-01-16 00:48:25 -080071 fn ctor_new(args: (&'b Self,)) -> Self::CtorType {
Devin Jeanpierrecf8d6db2022-06-08 12:32:10 -070072 let (arg,) = args;
Felipe de A. Mello Pereira6f3cf162023-01-16 00:48:25 -080073 <Self as ::ctor::CtorNew<&'b Self>>::ctor_new(arg)
Devin Jeanpierrecf8d6db2022-06-08 12:32:10 -070074 }
75}
Marcel Hlopko14ee3c82022-02-09 09:46:23 +000076
Felipe de A. Mello Pereira6f3cf162023-01-16 00:48:25 -080077impl<'b> ::ctor::CtorNew<::ctor::RvalueReference<'b, Self>> for HasCustomAlignment {
Devin Jeanpierre83cb2dc2022-07-15 01:50:28 -070078 type CtorType = impl ::ctor::Ctor<Output = Self> + ::ctor::Captures<'b>;
Devin Jeanpierrecf8d6db2022-06-08 12:32:10 -070079 #[inline(always)]
Felipe de A. Mello Pereira6f3cf162023-01-16 00:48:25 -080080 fn ctor_new(args: ::ctor::RvalueReference<'b, Self>) -> Self::CtorType {
Devin Jeanpierrecf8d6db2022-06-08 12:32:10 -070081 let __param_0 = args;
Devin Jeanpierre93927e82022-08-01 14:05:54 -070082 unsafe {
Googlerbed0a2a2023-03-01 11:53:43 -080083 ::ctor::FnCtor::new(
84 move |dest: ::core::pin::Pin<&mut ::core::mem::MaybeUninit<Self>>| {
85 crate::detail::__rust_thunk___ZN18HasCustomAlignmentC1EOS_(
86 ::core::pin::Pin::into_inner_unchecked(dest),
87 __param_0,
88 );
89 },
90 )
Devin Jeanpierre93927e82022-08-01 14:05:54 -070091 }
Devin Jeanpierrecf8d6db2022-06-08 12:32:10 -070092 }
93}
Felipe de A. Mello Pereira6f3cf162023-01-16 00:48:25 -080094impl<'b> ::ctor::CtorNew<(::ctor::RvalueReference<'b, Self>,)> for HasCustomAlignment {
Devin Jeanpierre83cb2dc2022-07-15 01:50:28 -070095 type CtorType = impl ::ctor::Ctor<Output = Self> + ::ctor::Captures<'b>;
Devin Jeanpierrecf8d6db2022-06-08 12:32:10 -070096 #[inline(always)]
Felipe de A. Mello Pereira6f3cf162023-01-16 00:48:25 -080097 fn ctor_new(args: (::ctor::RvalueReference<'b, Self>,)) -> Self::CtorType {
Devin Jeanpierrecf8d6db2022-06-08 12:32:10 -070098 let (arg,) = args;
Felipe de A. Mello Pereira6f3cf162023-01-16 00:48:25 -080099 <Self as ::ctor::CtorNew<::ctor::RvalueReference<'b, Self>>>::ctor_new(arg)
Devin Jeanpierrecf8d6db2022-06-08 12:32:10 -0700100 }
101}
Marcel Hlopko14ee3c82022-02-09 09:46:23 +0000102
Felipe de A. Mello Pereira5b9ad752023-01-11 01:03:23 -0800103impl<'b> ::ctor::Assign<&'b Self> for HasCustomAlignment {
Devin Jeanpierre9ced4ef2022-06-08 12:39:10 -0700104 #[inline(always)]
Googlerbed0a2a2023-03-01 11:53:43 -0800105 fn assign<'a>(self: ::core::pin::Pin<&'a mut Self>, __param_0: &'b Self) {
Devin Jeanpierre9ced4ef2022-06-08 12:39:10 -0700106 unsafe {
107 crate::detail::__rust_thunk___ZN18HasCustomAlignmentaSERKS_(self, __param_0);
108 }
109 }
110}
Marcel Hlopko14ee3c82022-02-09 09:46:23 +0000111
Felipe de A. Mello Pereira6f3cf162023-01-16 00:48:25 -0800112impl<'b> ::ctor::Assign<::ctor::RvalueReference<'b, Self>> for HasCustomAlignment {
Devin Jeanpierre9ced4ef2022-06-08 12:39:10 -0700113 #[inline(always)]
114 fn assign<'a>(
Googlerbed0a2a2023-03-01 11:53:43 -0800115 self: ::core::pin::Pin<&'a mut Self>,
Felipe de A. Mello Pereira6f3cf162023-01-16 00:48:25 -0800116 __param_0: ::ctor::RvalueReference<'b, Self>,
Devin Jeanpierre9ced4ef2022-06-08 12:39:10 -0700117 ) {
118 unsafe {
119 crate::detail::__rust_thunk___ZN18HasCustomAlignmentaSEOS_(self, __param_0);
120 }
121 }
122}
Marcel Hlopko14ee3c82022-02-09 09:46:23 +0000123
Devin Jeanpierrecd5ebf32022-07-08 05:31:55 -0700124#[::ctor::recursively_pinned]
Marcel Hlopko14ee3c82022-02-09 09:46:23 +0000125#[repr(C)]
126pub struct HasFieldWithCustomAlignment {
Rosica Dejanovska8283fe62022-05-09 10:04:28 -0700127 pub field: crate::HasCustomAlignment,
Marcel Hlopko14ee3c82022-02-09 09:46:23 +0000128}
Devin Jeanpierre27450132022-04-11 13:52:01 -0700129forward_declare::unsafe_define!(
130 forward_declare::symbol!("HasFieldWithCustomAlignment"),
Rosica Dejanovska8283fe62022-05-09 10:04:28 -0700131 crate::HasFieldWithCustomAlignment
Devin Jeanpierre27450132022-04-11 13:52:01 -0700132);
Marcel Hlopko14ee3c82022-02-09 09:46:23 +0000133
Devin Jeanpierrecd5ebf32022-07-08 05:31:55 -0700134impl ::ctor::CtorNew<()> for HasFieldWithCustomAlignment {
135 type CtorType = impl ::ctor::Ctor<Output = Self>;
Devin Jeanpierrecf8d6db2022-06-08 12:32:10 -0700136 #[inline(always)]
137 fn ctor_new(args: ()) -> Self::CtorType {
138 let () = args;
Devin Jeanpierre93927e82022-08-01 14:05:54 -0700139 unsafe {
Googlerbed0a2a2023-03-01 11:53:43 -0800140 ::ctor::FnCtor::new(
141 move |dest: ::core::pin::Pin<&mut ::core::mem::MaybeUninit<Self>>| {
142 crate::detail::__rust_thunk___ZN27HasFieldWithCustomAlignmentC1Ev(
143 ::core::pin::Pin::into_inner_unchecked(dest),
144 );
145 },
146 )
Devin Jeanpierre93927e82022-08-01 14:05:54 -0700147 }
Devin Jeanpierrecf8d6db2022-06-08 12:32:10 -0700148 }
149}
Marcel Hlopko14ee3c82022-02-09 09:46:23 +0000150
Felipe de A. Mello Pereira6f3cf162023-01-16 00:48:25 -0800151impl<'b> ::ctor::CtorNew<&'b Self> for HasFieldWithCustomAlignment {
Devin Jeanpierre83cb2dc2022-07-15 01:50:28 -0700152 type CtorType = impl ::ctor::Ctor<Output = Self> + ::ctor::Captures<'b>;
Devin Jeanpierrecf8d6db2022-06-08 12:32:10 -0700153 #[inline(always)]
Felipe de A. Mello Pereira6f3cf162023-01-16 00:48:25 -0800154 fn ctor_new(args: &'b Self) -> Self::CtorType {
Devin Jeanpierrecf8d6db2022-06-08 12:32:10 -0700155 let __param_0 = args;
Devin Jeanpierre93927e82022-08-01 14:05:54 -0700156 unsafe {
Googlerbed0a2a2023-03-01 11:53:43 -0800157 ::ctor::FnCtor::new(
158 move |dest: ::core::pin::Pin<&mut ::core::mem::MaybeUninit<Self>>| {
159 crate::detail::__rust_thunk___ZN27HasFieldWithCustomAlignmentC1ERKS_(
160 ::core::pin::Pin::into_inner_unchecked(dest),
161 __param_0,
162 );
163 },
164 )
Devin Jeanpierre93927e82022-08-01 14:05:54 -0700165 }
Devin Jeanpierrecf8d6db2022-06-08 12:32:10 -0700166 }
167}
Felipe de A. Mello Pereira6f3cf162023-01-16 00:48:25 -0800168impl<'b> ::ctor::CtorNew<(&'b Self,)> for HasFieldWithCustomAlignment {
Devin Jeanpierre83cb2dc2022-07-15 01:50:28 -0700169 type CtorType = impl ::ctor::Ctor<Output = Self> + ::ctor::Captures<'b>;
Devin Jeanpierrecf8d6db2022-06-08 12:32:10 -0700170 #[inline(always)]
Felipe de A. Mello Pereira6f3cf162023-01-16 00:48:25 -0800171 fn ctor_new(args: (&'b Self,)) -> Self::CtorType {
Devin Jeanpierrecf8d6db2022-06-08 12:32:10 -0700172 let (arg,) = args;
Felipe de A. Mello Pereira6f3cf162023-01-16 00:48:25 -0800173 <Self as ::ctor::CtorNew<&'b Self>>::ctor_new(arg)
Devin Jeanpierrecf8d6db2022-06-08 12:32:10 -0700174 }
175}
Marcel Hlopko14ee3c82022-02-09 09:46:23 +0000176
Felipe de A. Mello Pereira6f3cf162023-01-16 00:48:25 -0800177impl<'b> ::ctor::CtorNew<::ctor::RvalueReference<'b, Self>> for HasFieldWithCustomAlignment {
Devin Jeanpierre83cb2dc2022-07-15 01:50:28 -0700178 type CtorType = impl ::ctor::Ctor<Output = Self> + ::ctor::Captures<'b>;
Devin Jeanpierrecf8d6db2022-06-08 12:32:10 -0700179 #[inline(always)]
Felipe de A. Mello Pereira6f3cf162023-01-16 00:48:25 -0800180 fn ctor_new(args: ::ctor::RvalueReference<'b, Self>) -> Self::CtorType {
Devin Jeanpierrecf8d6db2022-06-08 12:32:10 -0700181 let __param_0 = args;
Devin Jeanpierre93927e82022-08-01 14:05:54 -0700182 unsafe {
Googlerbed0a2a2023-03-01 11:53:43 -0800183 ::ctor::FnCtor::new(
184 move |dest: ::core::pin::Pin<&mut ::core::mem::MaybeUninit<Self>>| {
185 crate::detail::__rust_thunk___ZN27HasFieldWithCustomAlignmentC1EOS_(
186 ::core::pin::Pin::into_inner_unchecked(dest),
187 __param_0,
188 );
189 },
190 )
Devin Jeanpierre93927e82022-08-01 14:05:54 -0700191 }
Devin Jeanpierrecf8d6db2022-06-08 12:32:10 -0700192 }
193}
Felipe de A. Mello Pereira6f3cf162023-01-16 00:48:25 -0800194impl<'b> ::ctor::CtorNew<(::ctor::RvalueReference<'b, Self>,)> for HasFieldWithCustomAlignment {
Devin Jeanpierre83cb2dc2022-07-15 01:50:28 -0700195 type CtorType = impl ::ctor::Ctor<Output = Self> + ::ctor::Captures<'b>;
Devin Jeanpierrecf8d6db2022-06-08 12:32:10 -0700196 #[inline(always)]
Felipe de A. Mello Pereira6f3cf162023-01-16 00:48:25 -0800197 fn ctor_new(args: (::ctor::RvalueReference<'b, Self>,)) -> Self::CtorType {
Devin Jeanpierrecf8d6db2022-06-08 12:32:10 -0700198 let (arg,) = args;
Felipe de A. Mello Pereira6f3cf162023-01-16 00:48:25 -0800199 <Self as ::ctor::CtorNew<::ctor::RvalueReference<'b, Self>>>::ctor_new(arg)
Devin Jeanpierrecf8d6db2022-06-08 12:32:10 -0700200 }
201}
Marcel Hlopko14ee3c82022-02-09 09:46:23 +0000202
Felipe de A. Mello Pereira5b9ad752023-01-11 01:03:23 -0800203impl<'b> ::ctor::Assign<&'b Self> for HasFieldWithCustomAlignment {
Devin Jeanpierre9ced4ef2022-06-08 12:39:10 -0700204 #[inline(always)]
Googlerbed0a2a2023-03-01 11:53:43 -0800205 fn assign<'a>(self: ::core::pin::Pin<&'a mut Self>, __param_0: &'b Self) {
Devin Jeanpierre9ced4ef2022-06-08 12:39:10 -0700206 unsafe {
207 crate::detail::__rust_thunk___ZN27HasFieldWithCustomAlignmentaSERKS_(self, __param_0);
208 }
209 }
210}
Marcel Hlopko14ee3c82022-02-09 09:46:23 +0000211
Felipe de A. Mello Pereira6f3cf162023-01-16 00:48:25 -0800212impl<'b> ::ctor::Assign<::ctor::RvalueReference<'b, Self>> for HasFieldWithCustomAlignment {
Devin Jeanpierre9ced4ef2022-06-08 12:39:10 -0700213 #[inline(always)]
214 fn assign<'a>(
Googlerbed0a2a2023-03-01 11:53:43 -0800215 self: ::core::pin::Pin<&'a mut Self>,
Felipe de A. Mello Pereira6f3cf162023-01-16 00:48:25 -0800216 __param_0: ::ctor::RvalueReference<'b, Self>,
Devin Jeanpierre9ced4ef2022-06-08 12:39:10 -0700217 ) {
218 unsafe {
219 crate::detail::__rust_thunk___ZN27HasFieldWithCustomAlignmentaSEOS_(self, __param_0);
220 }
221 }
222}
Marcel Hlopko14ee3c82022-02-09 09:46:23 +0000223
Devin Jeanpierrecd5ebf32022-07-08 05:31:55 -0700224#[::ctor::recursively_pinned]
Marcel Hlopko14ee3c82022-02-09 09:46:23 +0000225#[repr(C, align(64))]
226pub struct InheritsFromBaseWithCustomAlignment {
Googlerbed0a2a2023-03-01 11:53:43 -0800227 __non_field_data: [::core::mem::MaybeUninit<u8>; 64],
Marcel Hlopko14ee3c82022-02-09 09:46:23 +0000228}
Devin Jeanpierre27450132022-04-11 13:52:01 -0700229forward_declare::unsafe_define!(
230 forward_declare::symbol!("InheritsFromBaseWithCustomAlignment"),
Rosica Dejanovska8283fe62022-05-09 10:04:28 -0700231 crate::InheritsFromBaseWithCustomAlignment
Devin Jeanpierre27450132022-04-11 13:52:01 -0700232);
Marcel Hlopko14ee3c82022-02-09 09:46:23 +0000233
Devin Jeanpierrecd5ebf32022-07-08 05:31:55 -0700234impl ::ctor::CtorNew<()> for InheritsFromBaseWithCustomAlignment {
235 type CtorType = impl ::ctor::Ctor<Output = Self>;
Devin Jeanpierrecf8d6db2022-06-08 12:32:10 -0700236 #[inline(always)]
237 fn ctor_new(args: ()) -> Self::CtorType {
238 let () = args;
Devin Jeanpierre93927e82022-08-01 14:05:54 -0700239 unsafe {
Googlerbed0a2a2023-03-01 11:53:43 -0800240 ::ctor::FnCtor::new(
241 move |dest: ::core::pin::Pin<&mut ::core::mem::MaybeUninit<Self>>| {
242 crate::detail::__rust_thunk___ZN35InheritsFromBaseWithCustomAlignmentC1Ev(
243 ::core::pin::Pin::into_inner_unchecked(dest),
244 );
245 },
246 )
Devin Jeanpierre93927e82022-08-01 14:05:54 -0700247 }
Devin Jeanpierrecf8d6db2022-06-08 12:32:10 -0700248 }
249}
Marcel Hlopko14ee3c82022-02-09 09:46:23 +0000250
Felipe de A. Mello Pereira6f3cf162023-01-16 00:48:25 -0800251impl<'b> ::ctor::CtorNew<&'b Self> for InheritsFromBaseWithCustomAlignment {
Devin Jeanpierre83cb2dc2022-07-15 01:50:28 -0700252 type CtorType = impl ::ctor::Ctor<Output = Self> + ::ctor::Captures<'b>;
Devin Jeanpierrecf8d6db2022-06-08 12:32:10 -0700253 #[inline(always)]
Felipe de A. Mello Pereira6f3cf162023-01-16 00:48:25 -0800254 fn ctor_new(args: &'b Self) -> Self::CtorType {
Devin Jeanpierrecf8d6db2022-06-08 12:32:10 -0700255 let __param_0 = args;
Devin Jeanpierre93927e82022-08-01 14:05:54 -0700256 unsafe {
Googlerbed0a2a2023-03-01 11:53:43 -0800257 ::ctor::FnCtor::new(
258 move |dest: ::core::pin::Pin<&mut ::core::mem::MaybeUninit<Self>>| {
259 crate::detail::__rust_thunk___ZN35InheritsFromBaseWithCustomAlignmentC1ERKS_(
260 ::core::pin::Pin::into_inner_unchecked(dest),
261 __param_0,
262 );
263 },
264 )
Devin Jeanpierre93927e82022-08-01 14:05:54 -0700265 }
Devin Jeanpierrecf8d6db2022-06-08 12:32:10 -0700266 }
267}
Felipe de A. Mello Pereira6f3cf162023-01-16 00:48:25 -0800268impl<'b> ::ctor::CtorNew<(&'b Self,)> for InheritsFromBaseWithCustomAlignment {
Devin Jeanpierre83cb2dc2022-07-15 01:50:28 -0700269 type CtorType = impl ::ctor::Ctor<Output = Self> + ::ctor::Captures<'b>;
Devin Jeanpierrecf8d6db2022-06-08 12:32:10 -0700270 #[inline(always)]
Felipe de A. Mello Pereira6f3cf162023-01-16 00:48:25 -0800271 fn ctor_new(args: (&'b Self,)) -> Self::CtorType {
Devin Jeanpierrecf8d6db2022-06-08 12:32:10 -0700272 let (arg,) = args;
Felipe de A. Mello Pereira6f3cf162023-01-16 00:48:25 -0800273 <Self as ::ctor::CtorNew<&'b Self>>::ctor_new(arg)
Devin Jeanpierrecf8d6db2022-06-08 12:32:10 -0700274 }
275}
Marcel Hlopko14ee3c82022-02-09 09:46:23 +0000276
Felipe de A. Mello Pereira6f3cf162023-01-16 00:48:25 -0800277impl<'b> ::ctor::CtorNew<::ctor::RvalueReference<'b, Self>>
Devin Jeanpierrecf8d6db2022-06-08 12:32:10 -0700278 for InheritsFromBaseWithCustomAlignment
279{
Devin Jeanpierre83cb2dc2022-07-15 01:50:28 -0700280 type CtorType = impl ::ctor::Ctor<Output = Self> + ::ctor::Captures<'b>;
Devin Jeanpierrecf8d6db2022-06-08 12:32:10 -0700281 #[inline(always)]
Felipe de A. Mello Pereira6f3cf162023-01-16 00:48:25 -0800282 fn ctor_new(args: ::ctor::RvalueReference<'b, Self>) -> Self::CtorType {
Devin Jeanpierrecf8d6db2022-06-08 12:32:10 -0700283 let __param_0 = args;
Devin Jeanpierre93927e82022-08-01 14:05:54 -0700284 unsafe {
Googlerbed0a2a2023-03-01 11:53:43 -0800285 ::ctor::FnCtor::new(
286 move |dest: ::core::pin::Pin<&mut ::core::mem::MaybeUninit<Self>>| {
287 crate::detail::__rust_thunk___ZN35InheritsFromBaseWithCustomAlignmentC1EOS_(
288 ::core::pin::Pin::into_inner_unchecked(dest),
289 __param_0,
290 );
291 },
292 )
Devin Jeanpierre93927e82022-08-01 14:05:54 -0700293 }
Devin Jeanpierrecf8d6db2022-06-08 12:32:10 -0700294 }
295}
Felipe de A. Mello Pereira6f3cf162023-01-16 00:48:25 -0800296impl<'b> ::ctor::CtorNew<(::ctor::RvalueReference<'b, Self>,)>
Devin Jeanpierrecf8d6db2022-06-08 12:32:10 -0700297 for InheritsFromBaseWithCustomAlignment
298{
Devin Jeanpierre83cb2dc2022-07-15 01:50:28 -0700299 type CtorType = impl ::ctor::Ctor<Output = Self> + ::ctor::Captures<'b>;
Devin Jeanpierrecf8d6db2022-06-08 12:32:10 -0700300 #[inline(always)]
Felipe de A. Mello Pereira6f3cf162023-01-16 00:48:25 -0800301 fn ctor_new(args: (::ctor::RvalueReference<'b, Self>,)) -> Self::CtorType {
Devin Jeanpierrecf8d6db2022-06-08 12:32:10 -0700302 let (arg,) = args;
Felipe de A. Mello Pereira6f3cf162023-01-16 00:48:25 -0800303 <Self as ::ctor::CtorNew<::ctor::RvalueReference<'b, Self>>>::ctor_new(arg)
Devin Jeanpierrecf8d6db2022-06-08 12:32:10 -0700304 }
305}
Marcel Hlopko14ee3c82022-02-09 09:46:23 +0000306
Felipe de A. Mello Pereira5b9ad752023-01-11 01:03:23 -0800307impl<'b> ::ctor::Assign<&'b Self> for InheritsFromBaseWithCustomAlignment {
Devin Jeanpierre9ced4ef2022-06-08 12:39:10 -0700308 #[inline(always)]
Googlerbed0a2a2023-03-01 11:53:43 -0800309 fn assign<'a>(self: ::core::pin::Pin<&'a mut Self>, __param_0: &'b Self) {
Devin Jeanpierre9ced4ef2022-06-08 12:39:10 -0700310 unsafe {
311 crate::detail::__rust_thunk___ZN35InheritsFromBaseWithCustomAlignmentaSERKS_(
312 self, __param_0,
313 );
314 }
315 }
316}
Marcel Hlopko14ee3c82022-02-09 09:46:23 +0000317
Felipe de A. Mello Pereira6f3cf162023-01-16 00:48:25 -0800318impl<'b> ::ctor::Assign<::ctor::RvalueReference<'b, Self>> for InheritsFromBaseWithCustomAlignment {
Devin Jeanpierre9ced4ef2022-06-08 12:39:10 -0700319 #[inline(always)]
320 fn assign<'a>(
Googlerbed0a2a2023-03-01 11:53:43 -0800321 self: ::core::pin::Pin<&'a mut Self>,
Felipe de A. Mello Pereira6f3cf162023-01-16 00:48:25 -0800322 __param_0: ::ctor::RvalueReference<'b, Self>,
Devin Jeanpierre9ced4ef2022-06-08 12:39:10 -0700323 ) {
324 unsafe {
325 crate::detail::__rust_thunk___ZN35InheritsFromBaseWithCustomAlignmentaSEOS_(
326 self, __param_0,
327 );
328 }
329 }
330}
Marcel Hlopko14ee3c82022-02-09 09:46:23 +0000331
Lukasz Anforowicz90bb7462022-09-01 08:13:28 -0700332unsafe impl oops::Inherits<crate::HasCustomAlignment>
333 for crate::InheritsFromBaseWithCustomAlignment
334{
Rosica Dejanovska8283fe62022-05-09 10:04:28 -0700335 unsafe fn upcast_ptr(derived: *const Self) -> *const crate::HasCustomAlignment {
336 (derived as *const _ as *const u8).offset(0) as *const crate::HasCustomAlignment
Devin Jeanpierre8763a8e2022-04-26 15:45:13 -0700337 }
338}
339
Devin Jeanpierrecd5ebf32022-07-08 05:31:55 -0700340#[::ctor::recursively_pinned]
Marcel Hlopko14ee3c82022-02-09 09:46:23 +0000341#[repr(C, align(64))]
342pub struct HasCustomAlignmentWithGnuAttr {
Googlerbed0a2a2023-03-01 11:53:43 -0800343 __non_field_data: [::core::mem::MaybeUninit<u8>; 64],
Marcel Hlopko14ee3c82022-02-09 09:46:23 +0000344}
Devin Jeanpierre27450132022-04-11 13:52:01 -0700345forward_declare::unsafe_define!(
346 forward_declare::symbol!("HasCustomAlignmentWithGnuAttr"),
Rosica Dejanovska8283fe62022-05-09 10:04:28 -0700347 crate::HasCustomAlignmentWithGnuAttr
Devin Jeanpierre27450132022-04-11 13:52:01 -0700348);
Marcel Hlopko14ee3c82022-02-09 09:46:23 +0000349
Devin Jeanpierrecd5ebf32022-07-08 05:31:55 -0700350impl ::ctor::CtorNew<()> for HasCustomAlignmentWithGnuAttr {
351 type CtorType = impl ::ctor::Ctor<Output = Self>;
Devin Jeanpierrecf8d6db2022-06-08 12:32:10 -0700352 #[inline(always)]
353 fn ctor_new(args: ()) -> Self::CtorType {
354 let () = args;
Devin Jeanpierre93927e82022-08-01 14:05:54 -0700355 unsafe {
Googlerbed0a2a2023-03-01 11:53:43 -0800356 ::ctor::FnCtor::new(
357 move |dest: ::core::pin::Pin<&mut ::core::mem::MaybeUninit<Self>>| {
358 crate::detail::__rust_thunk___ZN29HasCustomAlignmentWithGnuAttrC1Ev(
359 ::core::pin::Pin::into_inner_unchecked(dest),
360 );
361 },
362 )
Devin Jeanpierre93927e82022-08-01 14:05:54 -0700363 }
Devin Jeanpierrecf8d6db2022-06-08 12:32:10 -0700364 }
365}
Marcel Hlopko14ee3c82022-02-09 09:46:23 +0000366
Felipe de A. Mello Pereira6f3cf162023-01-16 00:48:25 -0800367impl<'b> ::ctor::CtorNew<&'b Self> for HasCustomAlignmentWithGnuAttr {
Devin Jeanpierre83cb2dc2022-07-15 01:50:28 -0700368 type CtorType = impl ::ctor::Ctor<Output = Self> + ::ctor::Captures<'b>;
Devin Jeanpierrecf8d6db2022-06-08 12:32:10 -0700369 #[inline(always)]
Felipe de A. Mello Pereira6f3cf162023-01-16 00:48:25 -0800370 fn ctor_new(args: &'b Self) -> Self::CtorType {
Devin Jeanpierrecf8d6db2022-06-08 12:32:10 -0700371 let __param_0 = args;
Devin Jeanpierre93927e82022-08-01 14:05:54 -0700372 unsafe {
Googlerbed0a2a2023-03-01 11:53:43 -0800373 ::ctor::FnCtor::new(
374 move |dest: ::core::pin::Pin<&mut ::core::mem::MaybeUninit<Self>>| {
375 crate::detail::__rust_thunk___ZN29HasCustomAlignmentWithGnuAttrC1ERKS_(
376 ::core::pin::Pin::into_inner_unchecked(dest),
377 __param_0,
378 );
379 },
380 )
Devin Jeanpierre93927e82022-08-01 14:05:54 -0700381 }
Devin Jeanpierrecf8d6db2022-06-08 12:32:10 -0700382 }
383}
Felipe de A. Mello Pereira6f3cf162023-01-16 00:48:25 -0800384impl<'b> ::ctor::CtorNew<(&'b Self,)> for HasCustomAlignmentWithGnuAttr {
Devin Jeanpierre83cb2dc2022-07-15 01:50:28 -0700385 type CtorType = impl ::ctor::Ctor<Output = Self> + ::ctor::Captures<'b>;
Devin Jeanpierrecf8d6db2022-06-08 12:32:10 -0700386 #[inline(always)]
Felipe de A. Mello Pereira6f3cf162023-01-16 00:48:25 -0800387 fn ctor_new(args: (&'b Self,)) -> Self::CtorType {
Devin Jeanpierrecf8d6db2022-06-08 12:32:10 -0700388 let (arg,) = args;
Felipe de A. Mello Pereira6f3cf162023-01-16 00:48:25 -0800389 <Self as ::ctor::CtorNew<&'b Self>>::ctor_new(arg)
Devin Jeanpierrecf8d6db2022-06-08 12:32:10 -0700390 }
391}
Marcel Hlopko14ee3c82022-02-09 09:46:23 +0000392
Felipe de A. Mello Pereira6f3cf162023-01-16 00:48:25 -0800393impl<'b> ::ctor::CtorNew<::ctor::RvalueReference<'b, Self>> for HasCustomAlignmentWithGnuAttr {
Devin Jeanpierre83cb2dc2022-07-15 01:50:28 -0700394 type CtorType = impl ::ctor::Ctor<Output = Self> + ::ctor::Captures<'b>;
Devin Jeanpierrecf8d6db2022-06-08 12:32:10 -0700395 #[inline(always)]
Felipe de A. Mello Pereira6f3cf162023-01-16 00:48:25 -0800396 fn ctor_new(args: ::ctor::RvalueReference<'b, Self>) -> Self::CtorType {
Devin Jeanpierrecf8d6db2022-06-08 12:32:10 -0700397 let __param_0 = args;
Devin Jeanpierre93927e82022-08-01 14:05:54 -0700398 unsafe {
Googlerbed0a2a2023-03-01 11:53:43 -0800399 ::ctor::FnCtor::new(
400 move |dest: ::core::pin::Pin<&mut ::core::mem::MaybeUninit<Self>>| {
401 crate::detail::__rust_thunk___ZN29HasCustomAlignmentWithGnuAttrC1EOS_(
402 ::core::pin::Pin::into_inner_unchecked(dest),
403 __param_0,
404 );
405 },
406 )
Devin Jeanpierre93927e82022-08-01 14:05:54 -0700407 }
Devin Jeanpierrecf8d6db2022-06-08 12:32:10 -0700408 }
409}
Felipe de A. Mello Pereira6f3cf162023-01-16 00:48:25 -0800410impl<'b> ::ctor::CtorNew<(::ctor::RvalueReference<'b, Self>,)> for HasCustomAlignmentWithGnuAttr {
Devin Jeanpierre83cb2dc2022-07-15 01:50:28 -0700411 type CtorType = impl ::ctor::Ctor<Output = Self> + ::ctor::Captures<'b>;
Devin Jeanpierrecf8d6db2022-06-08 12:32:10 -0700412 #[inline(always)]
Felipe de A. Mello Pereira6f3cf162023-01-16 00:48:25 -0800413 fn ctor_new(args: (::ctor::RvalueReference<'b, Self>,)) -> Self::CtorType {
Devin Jeanpierrecf8d6db2022-06-08 12:32:10 -0700414 let (arg,) = args;
Felipe de A. Mello Pereira6f3cf162023-01-16 00:48:25 -0800415 <Self as ::ctor::CtorNew<::ctor::RvalueReference<'b, Self>>>::ctor_new(arg)
Devin Jeanpierrecf8d6db2022-06-08 12:32:10 -0700416 }
417}
Marcel Hlopko14ee3c82022-02-09 09:46:23 +0000418
Felipe de A. Mello Pereira5b9ad752023-01-11 01:03:23 -0800419impl<'b> ::ctor::Assign<&'b Self> for HasCustomAlignmentWithGnuAttr {
Devin Jeanpierre9ced4ef2022-06-08 12:39:10 -0700420 #[inline(always)]
Googlerbed0a2a2023-03-01 11:53:43 -0800421 fn assign<'a>(self: ::core::pin::Pin<&'a mut Self>, __param_0: &'b Self) {
Devin Jeanpierre9ced4ef2022-06-08 12:39:10 -0700422 unsafe {
423 crate::detail::__rust_thunk___ZN29HasCustomAlignmentWithGnuAttraSERKS_(self, __param_0);
424 }
425 }
426}
Marcel Hlopko14ee3c82022-02-09 09:46:23 +0000427
Felipe de A. Mello Pereira6f3cf162023-01-16 00:48:25 -0800428impl<'b> ::ctor::Assign<::ctor::RvalueReference<'b, Self>> for HasCustomAlignmentWithGnuAttr {
Devin Jeanpierre9ced4ef2022-06-08 12:39:10 -0700429 #[inline(always)]
430 fn assign<'a>(
Googlerbed0a2a2023-03-01 11:53:43 -0800431 self: ::core::pin::Pin<&'a mut Self>,
Felipe de A. Mello Pereira6f3cf162023-01-16 00:48:25 -0800432 __param_0: ::ctor::RvalueReference<'b, Self>,
Devin Jeanpierre9ced4ef2022-06-08 12:39:10 -0700433 ) {
434 unsafe {
435 crate::detail::__rust_thunk___ZN29HasCustomAlignmentWithGnuAttraSEOS_(self, __param_0);
436 }
437 }
438}
Marcel Hlopko14ee3c82022-02-09 09:46:23 +0000439
Lukasz Anforowiczf6c8b4d2022-09-01 06:58:17 -0700440pub mod template_with_preferred_name {
Lukasz Anforowiczf6c8b4d2022-09-01 06:58:17 -0700441 // Error while generating bindings for item 'template_with_preferred_name::SomeTemplate':
442 // Class templates are not supported yet
443
444 /// Based on `llvm/include/c++/v1/__fwd/string_view.h` - mimics
445 /// definition of the `string_view` type alias.
446 pub type SpecializedTypeAlias =
447 crate::__CcTemplateInstN28template_with_preferred_name12SomeTemplateIiEE;
448
449 // Based on `llvm/include/c++/v1/string_view` - mimics definition of
450 // `basic_string_view` class template (focusing on the attributes related to the
451 // preferred name).
452}
453
454// namespace template_with_preferred_name
455
Dmitri Gribenkoe4e77d02022-03-17 14:09:39 +0000456// CRUBIT_RS_BINDINGS_FROM_CC_TEST_GOLDEN_CLANG_ATTRS_H_
Marcel Hlopko14ee3c82022-02-09 09:46:23 +0000457
Lukasz Anforowiczf6c8b4d2022-09-01 06:58:17 -0700458/// Based on `llvm/include/c++/v1/__fwd/string_view.h` - mimics
459/// forward declaration of `basic_string_view` class template.
460#[::ctor::recursively_pinned]
461#[repr(C)]
462pub struct __CcTemplateInstN28template_with_preferred_name12SomeTemplateIiEE {
Googlerbed0a2a2023-03-01 11:53:43 -0800463 __non_field_data: [::core::mem::MaybeUninit<u8>; 1],
Lukasz Anforowiczf6c8b4d2022-09-01 06:58:17 -0700464}
465forward_declare::unsafe_define!(
466 forward_declare::symbol!("template_with_preferred_name::SomeTemplate<int>"),
467 crate::__CcTemplateInstN28template_with_preferred_name12SomeTemplateIiEE
468);
469
470impl ::ctor::CtorNew<()> for __CcTemplateInstN28template_with_preferred_name12SomeTemplateIiEE {
471 type CtorType = impl ::ctor::Ctor<Output = Self>;
472 #[inline(always)]
473 fn ctor_new(args: ()) -> Self::CtorType {
474 let () = args;
475 unsafe {
Googlerbed0a2a2023-03-01 11:53:43 -0800476 ::ctor::FnCtor::new(
477 move |dest: ::core::pin::Pin<&mut ::core::mem::MaybeUninit<Self>>| {
478 crate::detail::__rust_thunk___ZN28template_with_preferred_name12SomeTemplateIiEC1Ev__2f_2fthird_5fparty_2fcrubit_2frs_5fbindings_5ffrom_5fcc_2ftest_2fgolden_3aclang_5fattrs_5fcc(::core::pin::Pin::into_inner_unchecked(dest));
479 },
480 )
Lukasz Anforowiczf6c8b4d2022-09-01 06:58:17 -0700481 }
482 }
483}
484
Felipe de A. Mello Pereira6f3cf162023-01-16 00:48:25 -0800485impl<'b> ::ctor::CtorNew<&'b Self>
Lukasz Anforowiczf6c8b4d2022-09-01 06:58:17 -0700486 for __CcTemplateInstN28template_with_preferred_name12SomeTemplateIiEE
487{
488 type CtorType = impl ::ctor::Ctor<Output = Self> + ::ctor::Captures<'b>;
489 #[inline(always)]
Felipe de A. Mello Pereira6f3cf162023-01-16 00:48:25 -0800490 fn ctor_new(args: &'b Self) -> Self::CtorType {
Lukasz Anforowiczf6c8b4d2022-09-01 06:58:17 -0700491 let __param_0 = args;
492 unsafe {
Googlerbed0a2a2023-03-01 11:53:43 -0800493 ::ctor::FnCtor::new(
494 move |dest: ::core::pin::Pin<&mut ::core::mem::MaybeUninit<Self>>| {
495 crate::detail::__rust_thunk___ZN28template_with_preferred_name12SomeTemplateIiEC1ERKS1___2f_2fthird_5fparty_2fcrubit_2frs_5fbindings_5ffrom_5fcc_2ftest_2fgolden_3aclang_5fattrs_5fcc(::core::pin::Pin::into_inner_unchecked(dest),__param_0);
496 },
497 )
Lukasz Anforowiczf6c8b4d2022-09-01 06:58:17 -0700498 }
499 }
500}
Felipe de A. Mello Pereira6f3cf162023-01-16 00:48:25 -0800501impl<'b> ::ctor::CtorNew<(&'b Self,)>
Lukasz Anforowiczf6c8b4d2022-09-01 06:58:17 -0700502 for __CcTemplateInstN28template_with_preferred_name12SomeTemplateIiEE
503{
504 type CtorType = impl ::ctor::Ctor<Output = Self> + ::ctor::Captures<'b>;
505 #[inline(always)]
Felipe de A. Mello Pereira6f3cf162023-01-16 00:48:25 -0800506 fn ctor_new(args: (&'b Self,)) -> Self::CtorType {
Lukasz Anforowiczf6c8b4d2022-09-01 06:58:17 -0700507 let (arg,) = args;
Felipe de A. Mello Pereira6f3cf162023-01-16 00:48:25 -0800508 <Self as ::ctor::CtorNew<&'b Self>>::ctor_new(arg)
Lukasz Anforowiczf6c8b4d2022-09-01 06:58:17 -0700509 }
510}
511
Felipe de A. Mello Pereira6f3cf162023-01-16 00:48:25 -0800512impl<'b> ::ctor::CtorNew<::ctor::RvalueReference<'b, Self>>
513 for __CcTemplateInstN28template_with_preferred_name12SomeTemplateIiEE
Lukasz Anforowiczf6c8b4d2022-09-01 06:58:17 -0700514{
515 type CtorType = impl ::ctor::Ctor<Output = Self> + ::ctor::Captures<'b>;
516 #[inline(always)]
Felipe de A. Mello Pereira6f3cf162023-01-16 00:48:25 -0800517 fn ctor_new(args: ::ctor::RvalueReference<'b, Self>) -> Self::CtorType {
Lukasz Anforowiczf6c8b4d2022-09-01 06:58:17 -0700518 let __param_0 = args;
519 unsafe {
Googlerbed0a2a2023-03-01 11:53:43 -0800520 ::ctor::FnCtor::new(
521 move |dest: ::core::pin::Pin<&mut ::core::mem::MaybeUninit<Self>>| {
522 crate::detail::__rust_thunk___ZN28template_with_preferred_name12SomeTemplateIiEC1EOS1___2f_2fthird_5fparty_2fcrubit_2frs_5fbindings_5ffrom_5fcc_2ftest_2fgolden_3aclang_5fattrs_5fcc(::core::pin::Pin::into_inner_unchecked(dest),__param_0);
523 },
524 )
Lukasz Anforowiczf6c8b4d2022-09-01 06:58:17 -0700525 }
526 }
527}
Felipe de A. Mello Pereira6f3cf162023-01-16 00:48:25 -0800528impl<'b> ::ctor::CtorNew<(::ctor::RvalueReference<'b, Self>,)>
529 for __CcTemplateInstN28template_with_preferred_name12SomeTemplateIiEE
Lukasz Anforowiczf6c8b4d2022-09-01 06:58:17 -0700530{
531 type CtorType = impl ::ctor::Ctor<Output = Self> + ::ctor::Captures<'b>;
532 #[inline(always)]
Felipe de A. Mello Pereira6f3cf162023-01-16 00:48:25 -0800533 fn ctor_new(args: (::ctor::RvalueReference<'b, Self>,)) -> Self::CtorType {
Lukasz Anforowiczf6c8b4d2022-09-01 06:58:17 -0700534 let (arg,) = args;
Felipe de A. Mello Pereira6f3cf162023-01-16 00:48:25 -0800535 <Self as ::ctor::CtorNew<::ctor::RvalueReference<'b, Self>>>::ctor_new(arg)
Lukasz Anforowiczf6c8b4d2022-09-01 06:58:17 -0700536 }
537}
538
Felipe de A. Mello Pereira5b9ad752023-01-11 01:03:23 -0800539impl<'b> ::ctor::Assign<&'b Self>
Lukasz Anforowiczf6c8b4d2022-09-01 06:58:17 -0700540 for __CcTemplateInstN28template_with_preferred_name12SomeTemplateIiEE
541{
542 #[inline(always)]
Googlerbed0a2a2023-03-01 11:53:43 -0800543 fn assign<'a>(self: ::core::pin::Pin<&'a mut Self>, __param_0: &'b Self) {
Lukasz Anforowiczf6c8b4d2022-09-01 06:58:17 -0700544 unsafe {
545 crate::detail::__rust_thunk___ZN28template_with_preferred_name12SomeTemplateIiEaSERKS1___2f_2fthird_5fparty_2fcrubit_2frs_5fbindings_5ffrom_5fcc_2ftest_2fgolden_3aclang_5fattrs_5fcc(self,__param_0);
546 }
547 }
548}
549
Felipe de A. Mello Pereira6f3cf162023-01-16 00:48:25 -0800550impl<'b> ::ctor::Assign<::ctor::RvalueReference<'b, Self>>
551 for __CcTemplateInstN28template_with_preferred_name12SomeTemplateIiEE
Lukasz Anforowiczf6c8b4d2022-09-01 06:58:17 -0700552{
553 #[inline(always)]
554 fn assign<'a>(
Googlerbed0a2a2023-03-01 11:53:43 -0800555 self: ::core::pin::Pin<&'a mut Self>,
Felipe de A. Mello Pereira6f3cf162023-01-16 00:48:25 -0800556 __param_0: ::ctor::RvalueReference<'b, Self>,
Lukasz Anforowiczf6c8b4d2022-09-01 06:58:17 -0700557 ) {
558 unsafe {
559 crate::detail::__rust_thunk___ZN28template_with_preferred_name12SomeTemplateIiEaSEOS1___2f_2fthird_5fparty_2fcrubit_2frs_5fbindings_5ffrom_5fcc_2ftest_2fgolden_3aclang_5fattrs_5fcc(self,__param_0);
560 }
561 }
562}
563
564impl __CcTemplateInstN28template_with_preferred_name12SomeTemplateIiEE {
565 #[inline(always)]
Googlerbed0a2a2023-03-01 11:53:43 -0800566 pub fn foo<'a>(self: ::core::pin::Pin<&'a mut Self>) -> i32 {
Lukasz Anforowiczf6c8b4d2022-09-01 06:58:17 -0700567 unsafe {
568 crate::detail::__rust_thunk___ZN28template_with_preferred_name12SomeTemplateIiE3fooEv__2f_2fthird_5fparty_2fcrubit_2frs_5fbindings_5ffrom_5fcc_2ftest_2fgolden_3aclang_5fattrs_5fcc(self)
569 }
570 }
571}
572
Devin Jeanpierrecf8d6db2022-06-08 12:32:10 -0700573mod detail {
574 #[allow(unused_imports)]
575 use super::*;
576 extern "C" {
577 pub(crate) fn __rust_thunk___ZN18HasCustomAlignmentC1Ev<'a>(
Googlerbed0a2a2023-03-01 11:53:43 -0800578 __this: &'a mut ::core::mem::MaybeUninit<crate::HasCustomAlignment>,
Devin Jeanpierrecf8d6db2022-06-08 12:32:10 -0700579 );
580 pub(crate) fn __rust_thunk___ZN18HasCustomAlignmentC1ERKS_<'a, 'b>(
Googlerbed0a2a2023-03-01 11:53:43 -0800581 __this: &'a mut ::core::mem::MaybeUninit<crate::HasCustomAlignment>,
Devin Jeanpierrecf8d6db2022-06-08 12:32:10 -0700582 __param_0: &'b crate::HasCustomAlignment,
583 );
584 pub(crate) fn __rust_thunk___ZN18HasCustomAlignmentC1EOS_<'a, 'b>(
Googlerbed0a2a2023-03-01 11:53:43 -0800585 __this: &'a mut ::core::mem::MaybeUninit<crate::HasCustomAlignment>,
Devin Jeanpierrecd5ebf32022-07-08 05:31:55 -0700586 __param_0: ::ctor::RvalueReference<'b, crate::HasCustomAlignment>,
Devin Jeanpierrecf8d6db2022-06-08 12:32:10 -0700587 );
Devin Jeanpierre9ced4ef2022-06-08 12:39:10 -0700588 pub(crate) fn __rust_thunk___ZN18HasCustomAlignmentaSERKS_<'a, 'b>(
Googlerbed0a2a2023-03-01 11:53:43 -0800589 __this: ::core::pin::Pin<&'a mut crate::HasCustomAlignment>,
Devin Jeanpierre9ced4ef2022-06-08 12:39:10 -0700590 __param_0: &'b crate::HasCustomAlignment,
Googlerbed0a2a2023-03-01 11:53:43 -0800591 ) -> ::core::pin::Pin<&'a mut crate::HasCustomAlignment>;
Devin Jeanpierre9ced4ef2022-06-08 12:39:10 -0700592 pub(crate) fn __rust_thunk___ZN18HasCustomAlignmentaSEOS_<'a, 'b>(
Googlerbed0a2a2023-03-01 11:53:43 -0800593 __this: ::core::pin::Pin<&'a mut crate::HasCustomAlignment>,
Devin Jeanpierrecd5ebf32022-07-08 05:31:55 -0700594 __param_0: ::ctor::RvalueReference<'b, crate::HasCustomAlignment>,
Googlerbed0a2a2023-03-01 11:53:43 -0800595 ) -> ::core::pin::Pin<&'a mut crate::HasCustomAlignment>;
Devin Jeanpierrecf8d6db2022-06-08 12:32:10 -0700596 pub(crate) fn __rust_thunk___ZN27HasFieldWithCustomAlignmentC1Ev<'a>(
Googlerbed0a2a2023-03-01 11:53:43 -0800597 __this: &'a mut ::core::mem::MaybeUninit<crate::HasFieldWithCustomAlignment>,
Devin Jeanpierrecf8d6db2022-06-08 12:32:10 -0700598 );
599 pub(crate) fn __rust_thunk___ZN27HasFieldWithCustomAlignmentC1ERKS_<'a, 'b>(
Googlerbed0a2a2023-03-01 11:53:43 -0800600 __this: &'a mut ::core::mem::MaybeUninit<crate::HasFieldWithCustomAlignment>,
Devin Jeanpierrecf8d6db2022-06-08 12:32:10 -0700601 __param_0: &'b crate::HasFieldWithCustomAlignment,
602 );
603 pub(crate) fn __rust_thunk___ZN27HasFieldWithCustomAlignmentC1EOS_<'a, 'b>(
Googlerbed0a2a2023-03-01 11:53:43 -0800604 __this: &'a mut ::core::mem::MaybeUninit<crate::HasFieldWithCustomAlignment>,
Devin Jeanpierrecd5ebf32022-07-08 05:31:55 -0700605 __param_0: ::ctor::RvalueReference<'b, crate::HasFieldWithCustomAlignment>,
Devin Jeanpierrecf8d6db2022-06-08 12:32:10 -0700606 );
Devin Jeanpierre9ced4ef2022-06-08 12:39:10 -0700607 pub(crate) fn __rust_thunk___ZN27HasFieldWithCustomAlignmentaSERKS_<'a, 'b>(
Googlerbed0a2a2023-03-01 11:53:43 -0800608 __this: ::core::pin::Pin<&'a mut crate::HasFieldWithCustomAlignment>,
Devin Jeanpierre9ced4ef2022-06-08 12:39:10 -0700609 __param_0: &'b crate::HasFieldWithCustomAlignment,
Googlerbed0a2a2023-03-01 11:53:43 -0800610 ) -> ::core::pin::Pin<&'a mut crate::HasFieldWithCustomAlignment>;
Devin Jeanpierre9ced4ef2022-06-08 12:39:10 -0700611 pub(crate) fn __rust_thunk___ZN27HasFieldWithCustomAlignmentaSEOS_<'a, 'b>(
Googlerbed0a2a2023-03-01 11:53:43 -0800612 __this: ::core::pin::Pin<&'a mut crate::HasFieldWithCustomAlignment>,
Devin Jeanpierrecd5ebf32022-07-08 05:31:55 -0700613 __param_0: ::ctor::RvalueReference<'b, crate::HasFieldWithCustomAlignment>,
Googlerbed0a2a2023-03-01 11:53:43 -0800614 ) -> ::core::pin::Pin<&'a mut crate::HasFieldWithCustomAlignment>;
Devin Jeanpierrecf8d6db2022-06-08 12:32:10 -0700615 pub(crate) fn __rust_thunk___ZN35InheritsFromBaseWithCustomAlignmentC1Ev<'a>(
Googlerbed0a2a2023-03-01 11:53:43 -0800616 __this: &'a mut ::core::mem::MaybeUninit<crate::InheritsFromBaseWithCustomAlignment>,
Devin Jeanpierrecf8d6db2022-06-08 12:32:10 -0700617 );
618 pub(crate) fn __rust_thunk___ZN35InheritsFromBaseWithCustomAlignmentC1ERKS_<'a, 'b>(
Googlerbed0a2a2023-03-01 11:53:43 -0800619 __this: &'a mut ::core::mem::MaybeUninit<crate::InheritsFromBaseWithCustomAlignment>,
Devin Jeanpierrecf8d6db2022-06-08 12:32:10 -0700620 __param_0: &'b crate::InheritsFromBaseWithCustomAlignment,
621 );
622 pub(crate) fn __rust_thunk___ZN35InheritsFromBaseWithCustomAlignmentC1EOS_<'a, 'b>(
Googlerbed0a2a2023-03-01 11:53:43 -0800623 __this: &'a mut ::core::mem::MaybeUninit<crate::InheritsFromBaseWithCustomAlignment>,
Devin Jeanpierrecd5ebf32022-07-08 05:31:55 -0700624 __param_0: ::ctor::RvalueReference<'b, crate::InheritsFromBaseWithCustomAlignment>,
Devin Jeanpierrecf8d6db2022-06-08 12:32:10 -0700625 );
Devin Jeanpierre9ced4ef2022-06-08 12:39:10 -0700626 pub(crate) fn __rust_thunk___ZN35InheritsFromBaseWithCustomAlignmentaSERKS_<'a, 'b>(
Googlerbed0a2a2023-03-01 11:53:43 -0800627 __this: ::core::pin::Pin<&'a mut crate::InheritsFromBaseWithCustomAlignment>,
Devin Jeanpierre9ced4ef2022-06-08 12:39:10 -0700628 __param_0: &'b crate::InheritsFromBaseWithCustomAlignment,
Googlerbed0a2a2023-03-01 11:53:43 -0800629 ) -> ::core::pin::Pin<&'a mut crate::InheritsFromBaseWithCustomAlignment>;
Devin Jeanpierre9ced4ef2022-06-08 12:39:10 -0700630 pub(crate) fn __rust_thunk___ZN35InheritsFromBaseWithCustomAlignmentaSEOS_<'a, 'b>(
Googlerbed0a2a2023-03-01 11:53:43 -0800631 __this: ::core::pin::Pin<&'a mut crate::InheritsFromBaseWithCustomAlignment>,
Devin Jeanpierrecd5ebf32022-07-08 05:31:55 -0700632 __param_0: ::ctor::RvalueReference<'b, crate::InheritsFromBaseWithCustomAlignment>,
Googlerbed0a2a2023-03-01 11:53:43 -0800633 ) -> ::core::pin::Pin<&'a mut crate::InheritsFromBaseWithCustomAlignment>;
Devin Jeanpierrecf8d6db2022-06-08 12:32:10 -0700634 pub(crate) fn __rust_thunk___ZN29HasCustomAlignmentWithGnuAttrC1Ev<'a>(
Googlerbed0a2a2023-03-01 11:53:43 -0800635 __this: &'a mut ::core::mem::MaybeUninit<crate::HasCustomAlignmentWithGnuAttr>,
Devin Jeanpierrecf8d6db2022-06-08 12:32:10 -0700636 );
637 pub(crate) fn __rust_thunk___ZN29HasCustomAlignmentWithGnuAttrC1ERKS_<'a, 'b>(
Googlerbed0a2a2023-03-01 11:53:43 -0800638 __this: &'a mut ::core::mem::MaybeUninit<crate::HasCustomAlignmentWithGnuAttr>,
Devin Jeanpierrecf8d6db2022-06-08 12:32:10 -0700639 __param_0: &'b crate::HasCustomAlignmentWithGnuAttr,
640 );
641 pub(crate) fn __rust_thunk___ZN29HasCustomAlignmentWithGnuAttrC1EOS_<'a, 'b>(
Googlerbed0a2a2023-03-01 11:53:43 -0800642 __this: &'a mut ::core::mem::MaybeUninit<crate::HasCustomAlignmentWithGnuAttr>,
Devin Jeanpierrecd5ebf32022-07-08 05:31:55 -0700643 __param_0: ::ctor::RvalueReference<'b, crate::HasCustomAlignmentWithGnuAttr>,
Devin Jeanpierrecf8d6db2022-06-08 12:32:10 -0700644 );
Devin Jeanpierre9ced4ef2022-06-08 12:39:10 -0700645 pub(crate) fn __rust_thunk___ZN29HasCustomAlignmentWithGnuAttraSERKS_<'a, 'b>(
Googlerbed0a2a2023-03-01 11:53:43 -0800646 __this: ::core::pin::Pin<&'a mut crate::HasCustomAlignmentWithGnuAttr>,
Devin Jeanpierre9ced4ef2022-06-08 12:39:10 -0700647 __param_0: &'b crate::HasCustomAlignmentWithGnuAttr,
Googlerbed0a2a2023-03-01 11:53:43 -0800648 ) -> ::core::pin::Pin<&'a mut crate::HasCustomAlignmentWithGnuAttr>;
Devin Jeanpierre9ced4ef2022-06-08 12:39:10 -0700649 pub(crate) fn __rust_thunk___ZN29HasCustomAlignmentWithGnuAttraSEOS_<'a, 'b>(
Googlerbed0a2a2023-03-01 11:53:43 -0800650 __this: ::core::pin::Pin<&'a mut crate::HasCustomAlignmentWithGnuAttr>,
Devin Jeanpierrecd5ebf32022-07-08 05:31:55 -0700651 __param_0: ::ctor::RvalueReference<'b, crate::HasCustomAlignmentWithGnuAttr>,
Googlerbed0a2a2023-03-01 11:53:43 -0800652 ) -> ::core::pin::Pin<&'a mut crate::HasCustomAlignmentWithGnuAttr>;
Lukasz Anforowiczf6c8b4d2022-09-01 06:58:17 -0700653 pub(crate) fn __rust_thunk___ZN28template_with_preferred_name12SomeTemplateIiEC1Ev__2f_2fthird_5fparty_2fcrubit_2frs_5fbindings_5ffrom_5fcc_2ftest_2fgolden_3aclang_5fattrs_5fcc<
654 'a,
655 >(
Googlerbed0a2a2023-03-01 11:53:43 -0800656 __this: &'a mut ::core::mem::MaybeUninit<
Lukasz Anforowiczf6c8b4d2022-09-01 06:58:17 -0700657 crate::__CcTemplateInstN28template_with_preferred_name12SomeTemplateIiEE,
658 >,
659 );
660 pub(crate) fn __rust_thunk___ZN28template_with_preferred_name12SomeTemplateIiEC1ERKS1___2f_2fthird_5fparty_2fcrubit_2frs_5fbindings_5ffrom_5fcc_2ftest_2fgolden_3aclang_5fattrs_5fcc<
661 'a,
662 'b,
663 >(
Googlerbed0a2a2023-03-01 11:53:43 -0800664 __this: &'a mut ::core::mem::MaybeUninit<
Lukasz Anforowiczf6c8b4d2022-09-01 06:58:17 -0700665 crate::__CcTemplateInstN28template_with_preferred_name12SomeTemplateIiEE,
666 >,
667 __param_0: &'b crate::__CcTemplateInstN28template_with_preferred_name12SomeTemplateIiEE,
668 );
669 pub(crate) fn __rust_thunk___ZN28template_with_preferred_name12SomeTemplateIiEC1EOS1___2f_2fthird_5fparty_2fcrubit_2frs_5fbindings_5ffrom_5fcc_2ftest_2fgolden_3aclang_5fattrs_5fcc<
670 'a,
671 'b,
672 >(
Googlerbed0a2a2023-03-01 11:53:43 -0800673 __this: &'a mut ::core::mem::MaybeUninit<
Lukasz Anforowiczf6c8b4d2022-09-01 06:58:17 -0700674 crate::__CcTemplateInstN28template_with_preferred_name12SomeTemplateIiEE,
675 >,
676 __param_0: ::ctor::RvalueReference<
677 'b,
678 crate::__CcTemplateInstN28template_with_preferred_name12SomeTemplateIiEE,
679 >,
680 );
681 pub(crate) fn __rust_thunk___ZN28template_with_preferred_name12SomeTemplateIiEaSERKS1___2f_2fthird_5fparty_2fcrubit_2frs_5fbindings_5ffrom_5fcc_2ftest_2fgolden_3aclang_5fattrs_5fcc<
682 'a,
683 'b,
684 >(
Googlerbed0a2a2023-03-01 11:53:43 -0800685 __this: ::core::pin::Pin<
Lukasz Anforowiczf6c8b4d2022-09-01 06:58:17 -0700686 &'a mut crate::__CcTemplateInstN28template_with_preferred_name12SomeTemplateIiEE,
687 >,
688 __param_0: &'b crate::__CcTemplateInstN28template_with_preferred_name12SomeTemplateIiEE,
Googlerbed0a2a2023-03-01 11:53:43 -0800689 ) -> ::core::pin::Pin<
Lukasz Anforowiczf6c8b4d2022-09-01 06:58:17 -0700690 &'a mut crate::__CcTemplateInstN28template_with_preferred_name12SomeTemplateIiEE,
691 >;
692 pub(crate) fn __rust_thunk___ZN28template_with_preferred_name12SomeTemplateIiEaSEOS1___2f_2fthird_5fparty_2fcrubit_2frs_5fbindings_5ffrom_5fcc_2ftest_2fgolden_3aclang_5fattrs_5fcc<
693 'a,
694 'b,
695 >(
Googlerbed0a2a2023-03-01 11:53:43 -0800696 __this: ::core::pin::Pin<
Lukasz Anforowiczf6c8b4d2022-09-01 06:58:17 -0700697 &'a mut crate::__CcTemplateInstN28template_with_preferred_name12SomeTemplateIiEE,
698 >,
699 __param_0: ::ctor::RvalueReference<
700 'b,
701 crate::__CcTemplateInstN28template_with_preferred_name12SomeTemplateIiEE,
702 >,
Googlerbed0a2a2023-03-01 11:53:43 -0800703 ) -> ::core::pin::Pin<
Lukasz Anforowiczf6c8b4d2022-09-01 06:58:17 -0700704 &'a mut crate::__CcTemplateInstN28template_with_preferred_name12SomeTemplateIiEE,
705 >;
706 pub(crate) fn __rust_thunk___ZN28template_with_preferred_name12SomeTemplateIiE3fooEv__2f_2fthird_5fparty_2fcrubit_2frs_5fbindings_5ffrom_5fcc_2ftest_2fgolden_3aclang_5fattrs_5fcc<
707 'a,
708 >(
Googlerbed0a2a2023-03-01 11:53:43 -0800709 __this: ::core::pin::Pin<
Lukasz Anforowiczf6c8b4d2022-09-01 06:58:17 -0700710 &'a mut crate::__CcTemplateInstN28template_with_preferred_name12SomeTemplateIiEE,
711 >,
712 ) -> i32;
Devin Jeanpierrecf8d6db2022-06-08 12:32:10 -0700713 }
714}
715
Googlerbed0a2a2023-03-01 11:53:43 -0800716const _: () = assert!(::core::mem::size_of::<Option<&i32>>() == ::core::mem::size_of::<&i32>());
Marcel Hlopko14ee3c82022-02-09 09:46:23 +0000717
Googlerbed0a2a2023-03-01 11:53:43 -0800718const _: () = assert!(::core::mem::size_of::<crate::HasCustomAlignment>() == 64);
719const _: () = assert!(::core::mem::align_of::<crate::HasCustomAlignment>() == 64);
Lukasz Anforowicz95938f82022-03-24 13:51:54 +0000720const _: () = {
Lukasz Anforowiczb4d17782022-07-07 08:09:13 -0700721 static_assertions::assert_not_impl_any!(crate::HasCustomAlignment: Copy);
Lukasz Anforowicz95938f82022-03-24 13:51:54 +0000722};
723const _: () = {
Lukasz Anforowiczb4d17782022-07-07 08:09:13 -0700724 static_assertions::assert_not_impl_any!(crate::HasCustomAlignment: Drop);
Lukasz Anforowicz95938f82022-03-24 13:51:54 +0000725};
Marcel Hlopko14ee3c82022-02-09 09:46:23 +0000726
Googlerbed0a2a2023-03-01 11:53:43 -0800727const _: () = assert!(::core::mem::size_of::<crate::HasFieldWithCustomAlignment>() == 64);
728const _: () = assert!(::core::mem::align_of::<crate::HasFieldWithCustomAlignment>() == 64);
Lukasz Anforowicz95938f82022-03-24 13:51:54 +0000729const _: () = {
Lukasz Anforowiczb4d17782022-07-07 08:09:13 -0700730 static_assertions::assert_not_impl_any!(crate::HasFieldWithCustomAlignment: Copy);
Lukasz Anforowicz95938f82022-03-24 13:51:54 +0000731};
732const _: () = {
Lukasz Anforowiczb4d17782022-07-07 08:09:13 -0700733 static_assertions::assert_not_impl_any!(crate::HasFieldWithCustomAlignment: Drop);
Lukasz Anforowicz95938f82022-03-24 13:51:54 +0000734};
Lukasz Anforowiczed94b242022-09-07 11:47:58 -0700735const _: () = assert!(memoffset::offset_of!(crate::HasFieldWithCustomAlignment, field) == 0);
Marcel Hlopko14ee3c82022-02-09 09:46:23 +0000736
Googlerbed0a2a2023-03-01 11:53:43 -0800737const _: () = assert!(::core::mem::size_of::<crate::InheritsFromBaseWithCustomAlignment>() == 64);
738const _: () = assert!(::core::mem::align_of::<crate::InheritsFromBaseWithCustomAlignment>() == 64);
Lukasz Anforowicz95938f82022-03-24 13:51:54 +0000739const _: () = {
Lukasz Anforowiczb4d17782022-07-07 08:09:13 -0700740 static_assertions::assert_not_impl_any!(crate::InheritsFromBaseWithCustomAlignment: Copy);
Lukasz Anforowicz95938f82022-03-24 13:51:54 +0000741};
742const _: () = {
Lukasz Anforowiczb4d17782022-07-07 08:09:13 -0700743 static_assertions::assert_not_impl_any!(crate::InheritsFromBaseWithCustomAlignment: Drop);
Lukasz Anforowicz95938f82022-03-24 13:51:54 +0000744};
Marcel Hlopko14ee3c82022-02-09 09:46:23 +0000745
Googlerbed0a2a2023-03-01 11:53:43 -0800746const _: () = assert!(::core::mem::size_of::<crate::HasCustomAlignmentWithGnuAttr>() == 64);
747const _: () = assert!(::core::mem::align_of::<crate::HasCustomAlignmentWithGnuAttr>() == 64);
Lukasz Anforowicz95938f82022-03-24 13:51:54 +0000748const _: () = {
Lukasz Anforowiczb4d17782022-07-07 08:09:13 -0700749 static_assertions::assert_not_impl_any!(crate::HasCustomAlignmentWithGnuAttr: Copy);
Lukasz Anforowicz95938f82022-03-24 13:51:54 +0000750};
751const _: () = {
Lukasz Anforowiczb4d17782022-07-07 08:09:13 -0700752 static_assertions::assert_not_impl_any!(crate::HasCustomAlignmentWithGnuAttr: Drop);
Lukasz Anforowicz95938f82022-03-24 13:51:54 +0000753};
Lukasz Anforowiczf6c8b4d2022-09-01 06:58:17 -0700754
755const _: () = assert!(
Googlerbed0a2a2023-03-01 11:53:43 -0800756 ::core::mem::size_of::<crate::__CcTemplateInstN28template_with_preferred_name12SomeTemplateIiEE>(
Lukasz Anforowiczf6c8b4d2022-09-01 06:58:17 -0700757 ) == 1
758);
759const _: () = assert!(
Googlerbed0a2a2023-03-01 11:53:43 -0800760 ::core::mem::align_of::<crate::__CcTemplateInstN28template_with_preferred_name12SomeTemplateIiEE>(
Lukasz Anforowiczf6c8b4d2022-09-01 06:58:17 -0700761 ) == 1
762);
763const _: () = {
764 static_assertions::assert_not_impl_any!(
765 crate::__CcTemplateInstN28template_with_preferred_name12SomeTemplateIiEE: Copy
766 );
767};
768const _: () = {
769 static_assertions::assert_not_impl_any!(
770 crate::__CcTemplateInstN28template_with_preferred_name12SomeTemplateIiEE: Drop
771 );
772};