fn t_return(&mut self) {
        if self.current != 0 {
            self.tasks[self.current].state = State::Available;
            self.t_yield();
        }
    }
/// This is our return function. The only place we use this is in our `guard` function.
/// If the current task is not our base task we set its state to Available. It means
/// we're finished with it. Then we yield which will schedule a new task to be run.
This is our return function. The only place we use this is in our `guard` function.
If the current task is not our base task we set its state to Available. It means
we're finished with it. Then we yield which will schedule a new task to be run.
This is our return function . The only place we use this is in our ` guard ` function . If the current task is not our base task we set its state to Available . It means we ' re finished with it . Then we yield which will schedule a new task to be run .
fn t_return(&mut self) {
        if self.current != 0 {
            self.tasks[self.current].state = State::Available;
            self.t_yield();
        }
    }
fn t_return ( & mut self ) { if self . current != 0 { self . tasks [ self . current ] . state = State :: Available ; self . t_yield ( ) ; } }
This is our return function.
This is our return function .
&mut self
&mut self