Generates an asynchronous closure that rebinding the provided expressions and evaluates a given expression within the async context.
This macro takes a list of expressions to be rebound using a helper rebinding macro, then returns an async move block that evaluates the specified expression while capturing the rebound variables.
Creates a closure-like block that performs variable rebinding before evaluating an expression.
This macro takes a comma-separated list of identifier pairs, where each pair specifies a rebinding using a helper mechanism, and a trailing expression; it expands to a block that first applies the rebinding operations and then evaluates the provided expression within that modified scope.
Generates an asynchronous expression that yields a future which never resolves.
This macro conditionally produces a pending future, either using the default type or a specified type parameter, blocking execution indefinitely when awaited.
Provides utility for rebinding a variable with different semantics.
This macro accepts a pattern specifying the rebinding mode—ref, clone, move, or mut—followed by an identifier, and expands it into a let binding that creates a new binding corresponding to that mode (borrowing immutably, cloning, moving, or borrowing mutably).