pub fn insert_full(&self, value: T) -> (usize, &T::Target) {
        assert!(!self.in_use.get());
        self.in_use.set(true);
        let ret = unsafe {
            let set = self.set.get();
            let (index, _was_vacant) = (*set).insert_full(value);
            (index, &*(*set)[index])
        };
        self.in_use.set(false);
        ret
    }
// these should never return &T
// these should never delete any entries
these should never return &T
these should never delete any entries
these should never return &T these should never delete any entries
pub fn insert_full(&self, value: T) -> (usize, &T::Target) {
        assert!(!self.in_use.get());
        self.in_use.set(true);
        let ret = unsafe {
            let set = self.set.get();
            let (index, _was_vacant) = (*set).insert_full(value);
            (index, &*(*set)[index])
        };
        self.in_use.set(false);
        ret
    }
pub fn insert_full ( & self , value : T ) -> ( usize , & T :: Target ) { assert ! ( self in_use get ( ) ) ; self . in_use . set ( true ) ; let ret = unsafe { let set = self . set . get ( ) ; let ( index , _was_vacant ) = ( * set ) . insert_full ( value ) ; ( index , & * ( * set ) [ index ] ) } ; self . in_use . set ( false ) ; ret }
these should never return &T
these should never delete any entries
these should never return &T these should never delete any entries
&self
value
T
&self
value
T