The rust application stack, which supports stack scaling,how to implements a golang-like coprogram runtime

The rust application stack, which supports stack scaling,how to implements a golang-like coprogram runtime?

I tried using some coroutine frameworks,
It's not using the future,
like ‘may‘. But it can only support a fixed amount of stack space, otherwise it will run out of memory。

Are there any libraries that support dynamically adjusting the stack space?or coroutine crates?

For dynamically growing stacks, there is stacker.

it can grow dynamically, but you can't shrink dynamically, right?

stacker ? Can a GOLang-like GMP model be implemented using it?

Stacker works as something you explicitly call, which then forwards to your callback with the new stack. When that returns, that stack is deallocated.

You'd probably need to use the underlying psm if you want to implement a more advanced runtime.