unsafe fn new<'a, T: PSafe + 'a>(x: T, j: &Journal<Self>) -> &'a mut T where Self: MemPool {
        debug_assert!(mem::size_of::<T>() != 0, "Cannot allocated ZST");

        let mut log = Log::drop_on_failure(u64::MAX, 1, j);
        let (p, off, len, z) = Self::atomic_new(x);
        log.set(off, len, z);
        Self::perform(z);
        p
    }
/// Allocates new memory and then places `x` into it with `DropOnFailure` log
Allocates new memory and then places `x` into it with `DropOnFailure` log
Allocates new memory and then places ` x ` into it with ` DropOnFailure ` log
unsafe fn new<'a, T: PSafe + 'a>(x: T, j: &Journal<Self>) -> &'a mut T where Self: MemPool {
        debug_assert!(mem::size_of::<T>() != 0, "Cannot allocated ZST");
        let mut log = Log::drop_on_failure(u64::MAX, 1, j);
        let (p, off, len, z) = Self::atomic_new(x);
        log.set(off, len, z);
        Self::perform(z);
        p
    }
unsafe fn new < ' a , T : PSafe + ' a > ( x : T , j : & Journal < Self > ) -> & ' a mut T where Self : MemPool { debug_assert ! ( mem size_of T ( ) 0 " " ) ; let mut log = Log :: drop_on_failure ( u64 :: MAX , 1 , j ) ; let ( p , off , len , z ) = Self :: atomic_new ( x ) ; log . set ( off , len , z ) ; Self :: perform ( z ) ; p }
Allocates new memory and then places `x` into it with `DropOnFailure` log
Allocates new memory and then places ` x ` into it with ` DropOnFailure ` log
x
T
j
&Journal<Self>