pub fn insert(&self, value: T) -> &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);
            &*(*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(&self, value: T) -> &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);
            &*(*set)[index]
        };
        self.in_use.set(false);
        ret
    }
pub fn insert ( & self , value : T ) -> & 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 ) ; & * ( * 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