pub unsafe fn from_raw_parts(
		bitptr: BitPtr<Mut, T, O>,
		length: usize,
		capacity: usize,
	) -> Self {
		let bitspan = bitptr.span_unchecked(length);
		Self {
			bitspan,
			capacity: mem::elts::<T>(
				capacity.saturating_add(bitspan.head().into_inner() as usize),
			),
		}
	}
/// Constructs a bit-vector handle from its constituent fields.
///
/// ## Original
///
/// [`Vec::from_raw_parts`](alloc::vec::Vec::from_raw_parts)
///
/// ## Safety
///
/// The **only** acceptable argument values for this function are those that
/// were previously produced by calling [`.into_raw_parts()`]. Furthermore,
/// you may only call this **at most once** on any set of arguments. Using
/// the same arguments in more than one call to this function will result in
/// a double- or use-after free error.
///
/// Attempting to conjure your own values and pass them into this function
/// will break the allocator state.
///
/// ## Examples
///
/// ```rust
/// use bitvec::prelude::*;
///
/// let bv = bitvec![0, 1, 0, 0, 1];
/// let (bitptr, len, capa) = bv.into_raw_parts();
/// let bv2 = unsafe {
///   BitVec::from_raw_parts(bitptr, len, capa)
/// };
/// assert_eq!(bv2, bits![0, 1, 0, 0, 1]);
/// ```
///
/// [`.into_raw_parts()`]: Self::into_raw_parts
Constructs a bit-vector handle from its constituent fields.
Constructs a bit - vector handle from its constituent fields .
pub unsafe fn from_raw_parts(
		bitptr: BitPtr<Mut, T, O>,
		length: usize,
		capacity: usize,
	) -> Self {
		let bitspan = bitptr.span_unchecked(length);
		Self {
			bitspan,
			capacity: mem::elts::<T>(
				capacity.saturating_add(bitspan.head().into_inner() as usize),
			),
		}
	}
pub unsafe fn from_raw_parts ( bitptr : BitPtr < Mut , T , O > , length : usize , capacity : usize , ) -> Self { let bitspan = bitptr . span_unchecked ( length ) ; Self { bitspan , capacity : mem :: elts :: < T > ( capacity . saturating_add ( bitspan . head ( ) . into_inner ( ) as usize ) , ) , } }
Constructs a bit-vector handle from its constituent fields.
Constructs a bit - vector handle from its constituent fields .
bitptr
BitPtr<Mut, T, O>
length
usize
capacity
usize
bitptr
BitPtr<Mut, T, O>
length
usize
capacity
usize
original
None
safety
The **only** acceptable argument values for this function are those that
were previously produced by calling [`.into_raw_parts()`]. Furthermore,
you may only call this **at most once** on any set of arguments. Using
the same arguments in more than one call to this function will result in
a double- or use-after free error.

Attempting to conjure your own values and pass them into this function
will break the allocator state.
The ** only ** acceptable argument values for this function are those that were previously produced by calling [ ` . into_raw_parts () ` ] . Furthermore you may only call this ** at most once ** on any set of arguments . Using the same arguments in more than one call to this function will result in a double - or use - after free error . Attempting to conjure your own values and pass them into this function will break the allocator state .
examples
```rust
use bitvec::prelude::*.



[`.into_raw_parts()`]: Self::into_raw_parts
` ` ` rust use bitvec :: prelude :: * . [ ` . into_raw_parts () ` ] : Self :: into_raw_parts