async def repeat(self, count: int):
        """Repeat this trigger a specific number of times.

        This method awaits this trigger at least once, and returns a :class:`tuple` of the values
        that are :meth:`sample`\\ d during the last repeat. Values sampled during previous repeats
        are discarded.

        Awaiting a :py:`trigger` returns values indicating the state of the clock and reset signals,
        while awaiting :py:`trigger.repeat(...)` does not:

        .. code::

            for _ in range(3):
                clk_edge, rst_active, *values = await trigger # never raises
            # `values` may be used after the loop finishes

        .. code::

            values = await trigger.repeat(3) # may raise `DomainReset`

        Raises
        ------
        :exc:`ValueError`
            If :py:`count` is less than 1.
        :exc:`DomainReset`
            If the clock domain has been synchronously or asynchronously reset during the wait.
        """
        count = operator.index(count)
        if count <= 0:
            raise ValueError(f"Repeat count must be a positive integer, not {count!r}")
        tick = self.__aiter__()
        try:
            for _ in range(count):
                clk, rst, *values = await tick.__anext__()
                if rst:
                    raise DomainReset
                assert clk
            return tuple(values)
        finally:
            await tick.aclose()
Repeat this trigger a specific number of times.

        This method awaits this trigger at least once, and returns a :class:`tuple` of the values
        that are :meth:`sample`\ d during the last repeat. Values sampled during previous repeats
        are discarded.

        Awaiting a :py:`trigger` returns values indicating the state of the clock and reset signals,
        while awaiting :py:`trigger.repeat(...)` does not:

        .. code::

            for _ in range(3):
                clk_edge, rst_active, *values = await trigger # never raises
            # `values` may be used after the loop finishes

        .. code::

            values = await trigger.repeat(3) # may raise `DomainReset`

        Raises
        ------
        :exc:`ValueError`
            If :py:`count` is less than 1.
        :exc:`DomainReset`
            If the clock domain has been synchronously or asynchronously reset during the wait.
        
amaranth/sim/_async.py