Lines Matching refs:project
247 /// It is not allowed to project into types that implement custom [`Deref`] or
250 /// The macro has basic syntax of `kernel::ptr::project!(ptr, projection)`, where `ptr` is an
256 /// `kernel::ptr::project!(mut ptr, projection)`. By default, a const pointer is created.
258 /// The `ptr::project!` macro can perform both fallible indexing and build-time checked indexing.
273 /// let field_ptr: *const u32 = kernel::ptr::project!(ptr, .field);
278 /// let field_ptr: *const u32 = kernel::ptr::project!(ptr, .1);
287 /// let field_ptr: *const u8 = kernel::ptr::project!(ptr, [build: 1]);
290 /// // kernel::ptr::project!(ptr, [build: 128]);
293 /// kernel::ptr::project!(ptr, [try: 128]);
296 /// kernel::ptr::project!(ptr, [panic: 128]);
306 /// Ok(kernel::ptr::project!(ptr, [try: 128]))
315 /// let field_ptr: *mut u16 = kernel::ptr::project!(mut ptr, [build: 1].1);
335 $crate::ptr::project!(@gen $ptr, $($rest)*)
341 $crate::ptr::project!(@gen $ptr, $($rest)*)
346 $crate::ptr::project!(@gen $ptr, $($rest)*)
351 $crate::ptr::project!(@gen $ptr, $($rest)*)
356 $crate::ptr::project!(@gen ptr, $($proj)*);
361 // We currently always project using mutable pointer, as it is not decided whether `&raw
363 $crate::ptr::project!(@gen ptr, $($proj)*);