unsafe fn data_offset<T: ?Sized>(ptr: *const T) -> isize {
    // Align the unsized value to the end of the `ArcInner`.
    // Because it is `?Sized`, it will always be the last field in memory.
    // Note: This is a detail of the current implementation of the compiler,
    // and is not a guaranteed language detail. Do not rely on it outside of std.
    unsafe { data_offset_align(align_of_val(&*ptr)) }
}
/// Get the offset within an `ArcInner` for
/// a payload of type described by a pointer.
///
/// # Safety
///
/// This has the same safety requirements as `align_of_val_raw`. In effect:
///
/// - This function is safe for any argument if `T` is sized, and
/// - if `T` is unsized, the pointer must have appropriate pointer metadata
///   aquired from the real instance that you are getting this offset for.
Get the offset within an `ArcInner` for
a payload of type described by a pointer.
Get the offset within an ` ArcInner ` for a payload of type described by a pointer .
unsafe fn data_offset<T: ?Sized>(ptr: *const T) -> isize {
    // Align the unsized value to the end of the `ArcInner`.
    // Because it is `?Sized`, it will always be the last field in memory.
    // Note: This is a detail of the current implementation of the compiler,
    // and is not a guaranteed language detail. Do not rely on it outside of std.
    unsafe { data_offset_align(align_of_val(&*ptr)) }
}
unsafe fn data_offset < T : ? Sized > ( ptr : * const T ) -> isize { // Align the unsized value to the end of the `ArcInner`. // Because it is `?Sized`, it will always be the last field in memory. // Note: This is a detail of the current implementation of the compiler, // and is not a guaranteed language detail. Do not rely on it outside of std. unsafe { data_offset_align ( align_of_val ( & * ptr ) ) } }
Get the offset within an `ArcInner` for
a payload of type described by a pointer.
Get the offset within an ` ArcInner ` for a payload of type described by a pointer .
ptr
*const T
ptr
*const T
safety
This has the same safety requirements as `align_of_val_raw`. In effect.

This function is safe for any argument if `T` is sized, and
if `T` is unsized, the pointer must have appropriate pointer metadata
aquired from the real instance that you are getting this offset for.
This has the same safety requirements as ` align_of_val_raw ` . In effect . This function is safe for any argument if ` T ` is sized and if ` T ` is unsized the pointer must have appropriate pointer metadata aquired from the real instance that you are getting this offset for .