pub fn new_thread(&mut self) -> thread::Id {
        let thread_id = self.threads.new_thread();
        let active_id = self.threads.active_id();

        let (active, new) = self.threads.active2_mut(thread_id);

        new.causality.join(&active.causality);
        new.dpor_vv.join(&active.dpor_vv);

        // Bump causality in order to ensure CausalCell accurately detects
        // incorrect access when first action.
        new.causality[thread_id] += 1;
        active.causality[active_id] += 1;

        thread_id
    }
/// Create state to track a new thread
Create state to track a new thread
Create state to track a new thread
pub fn new_thread(&mut self) -> thread::Id {
        let thread_id = self.threads.new_thread();
        let active_id = self.threads.active_id();
        let (active, new) = self.threads.active2_mut(thread_id);
        new.causality.join(&active.causality);
        new.dpor_vv.join(&active.dpor_vv);
        // Bump causality in order to ensure CausalCell accurately detects
        // incorrect access when first action.
        new.causality[thread_id] += 1;
        active.causality[active_id] += 1;
        thread_id
    }
pub fn new_thread ( & mut self ) -> thread :: Id { let thread_id = self . threads . new_thread ( ) ; let active_id = self . threads . active_id ( ) ; let ( active , new ) = self . threads . active2_mut ( thread_id ) ; new . causality . join ( & active . causality ) ; new . dpor_vv . join ( & active . dpor_vv ) ; // Bump causality in order to ensure CausalCell accurately detects // incorrect access when first action. new . causality [ thread_id ] += 1 ; active . causality [ active_id ] += 1 ; thread_id }
Create state to track a new thread
Create state to track a new thread
&mut self
&mut self