pub fn stop_tracing() -> Result<IRTrace, InvalidTraceError> {
    let mut res = Err(InvalidTraceError::EmptyTrace);
    THREAD_TRACER.with(|tt| {
        let tt_owned = tt.borrow_mut().take();
        res = tt_owned.unwrap().stop_tracing();
    });
    res
}
/// Stop tracing on the current thread. Calling this when the current thread is not already tracing
/// leads to undefined behaviour.
Stop tracing on the current thread. Calling this when the current thread is not already tracing
leads to undefined behaviour.
Stop tracing on the current thread . Calling this when the current thread is not already tracing leads to undefined behaviour .
pub fn stop_tracing() -> Result<IRTrace, InvalidTraceError> {
    let mut res = Err(InvalidTraceError::EmptyTrace);
    THREAD_TRACER.with(|tt| {
        let tt_owned = tt.borrow_mut().take();
        res = tt_owned.unwrap().stop_tracing();
    });
    res
}
pub fn stop_tracing ( ) -> Result < IRTrace , InvalidTraceError > { let mut res = Err ( InvalidTraceError :: EmptyTrace ) ; THREAD_TRACER . with ( | tt | { let tt_owned = tt . borrow_mut ( ) . take ( ) ; res = tt_owned . unwrap ( ) . stop_tracing ( ) ; } ) ; res }
Stop tracing on the current thread.
Stop tracing on the current thread .