Convert closures into futures based on greenthread on bare-metal (nostd + noalloc).
In a word, this is a #![no_std]
version of Futurify.
I'm exploring to use it to implement bare-metal threading.
TODO.
Now just take a unit test as an example:
```rust
async fn test() { let h1 = tokio::spawn(ThreadFuture::from(|| { println!("1.1"); yieldnow(); println!("1.2"); 1u32 })); let h2 = tokio::spawn(ThreadFuture::from(|| { println!("2.1"); yieldnow(); println!("2.2"); 2u32 })); println!("join 1 => {}", h1.await.unwrap()); println!("join 2 => {}", h2.await.unwrap()); } ```
Output:
1.1
2.1
1.2
2.2
join 1 => 1
join 2 => 2