/// Directly copies T instead of reading it onto the stack first.
Directly copies T instead of reading it onto the stack first.
Directly copies T instead of reading it onto the stack first .
pub fn gc_copy<'a, 'r: 'a, T: Copy>(&'a self, t: &T) -> Gc<'r, T> {
        unsafe {
            if self.full() {
                self.new_block()
            }
            let ptr = self.next.get() as _;
            self.next.set(self.bump_down() as *mut A);
            ptr::copy(t, ptr, 1);
            Gc::new(&*ptr)
        }
    }
pub fn gc_copy < ' a , ' r : ' a , T : Copy > ( & ' a self , t : & T ) -> Gc < ' r , T > { unsafe { if self . full ( ) { self . new_block ( ) } let ptr = self . next . get ( ) as _ ; self . next . set ( self . bump_down ( ) as * mut A ) ; ptr :: copy ( t , ptr , 1 ) ; Gc :: new ( & * ptr ) } }
Directly copies T instead of reading it onto the stack first.
Directly copies T instead of reading it onto the stack first .
&'a self
t
&T