fn from()

in types/src/task_state.rs [565:574]


            fn from(mut task: Task<$cur>) -> TaskState {
                if <Task<$cur> as TryTransitionTo<Task<$next>>>::ready_for_transition(&task) {
                    // We assume that if it's ready for transistion, the result is always Ok.
                    let mut nt: Task<$next> = task.try_transition_to().unwrap();
                    nt.state.status = nt.extra.into();
                    return nt.state;
                }
                task.state.status = task.extra.into();
                task.state
            }