Function rfc2580::into_non_null_parts[][src]

pub fn into_non_null_parts<T: ?Sized + Pointee>(
    ptr: NonNull<T>
) -> (<T as Pointee>::MetaData, NonNull<u8>)

Splits any pointer into its meta-data and data-pointer parts.

For the raw pointer equivalent, see into_raw_parts.

Examples

use core::ptr::NonNull;
use rfc2580::into_non_null_parts;

let mut array = [1; 4];
let (meta, data) = into_non_null_parts(NonNull::from(&mut array[..]));

assert_eq!(NonNull::from(&mut array[..]).cast(), data);