Lines Matching +defs:init +defs:data
144 // `mixed_site` ensures that the data is not accessible to the user-controlled code.
145 let data = Ident::new("__data", Span::mixed_site());
146 let init_fields = init_fields(&fields, pinned, &data, &slot);
149 // Get the data about fields from the supplied type.
151 let #data = unsafe {
157 // Ensure that `#data` really is of type `#data` and help with type inference:
158 let init = #data.__make_closure::<_, #error>(
164 // SAFETY: we are the `init!` macro that is allowed to call this.
168 let init = move |slot| -> ::core::result::Result<(), #error> {
169 init(slot).map(|__InitOk| ())
172 unsafe { ::pin_init::#init_from_closure::<_, #error>(init) }
219 data: &Ident,
254 (unsafe { #data.#ident(#slot) })
258 // For `init!()` macro, everything is unpinned.
275 let init = match kind {
291 let mut #guard = #slot.init(#value)?;
298 #init