class_docstr: A coroutine wrapped in a Future.
class_docstr_tok: ["A","coroutine","wrapped","in","a","Future","."]
code: def __step(self, exc=None):
      if self.done():
          raise exceptions.InvalidStateError(
              f"_step(): already done: {self!r}, {exc!r}"
          )
      if self._must_cancel:
          if not isinstance(exc, exceptions.CancelledError):
              exc = self._make_cancelled_error()
          self._must_cancel = False
      self._fut_waiter = None
  
      _enter_task(self._loop, self)
      try:
          self.__step_run_and_handle_result(exc)
      finally:
          _leave_task(self._loop, self)
          self = None
  
imports: import concurrent.futures
  import contextvars
  import functools
  import inspect
  import itertools
  import math
  import types
  import weakref
  from types import GenericAlias
  from .None import base_tasks
  from .None import coroutines
  from .None import events
  from .None import exceptions
  from .None import futures
  from .None import timeouts
label_desc: Use image node_id 16 for calling the Task obj's underlying member method code with example usage: obj.__step(exc) without return types