#macro #simplifying #standard #structures #extension

async-func

A Rust library providing macros to simplify the creation of asynchronous closures with external state captured by move. Useful for structuring asynchronous code with ease and clarity.

7 releases

new 0.1.5 Feb 9, 2025
0.1.4 Feb 9, 2025
0.1.3 Jan 20, 2025
0.0.1 Jan 18, 2025

#1655 in Data structures

Download history 458/week @ 2025-01-18 14/week @ 2025-01-25 65/week @ 2025-02-01 339/week @ 2025-02-08

876 downloads per month
Used in 3 crates (2 directly)

MIT license

7KB

async-func

Official Documentation

A Rust library providing macros to simplify the creation of asynchronous closures with external state captured by move. Useful for structuring asynchronous code with ease and clarity.

Installation

To install async-func run cmd:

cargo add async-func

Usage

use async_func::*;

let string: String = String::from("test");
let number: i32 = 1;
let func = async_func!(string, number, {
    let tmp_string: String = String::from("test");
    assert_eq!(string, tmp_string);
    assert_eq!(number, 1);
});
func().await;

let func = async_func!(string, number, |data| {
    let tmp_string: String = String::from("test");
    assert_eq!(string, tmp_string);
    assert_eq!(data, 1);
    assert_eq!(number, 1);
});
func(1).await;

License

This project is licensed under the MIT License. See the LICENSE file for details.

Contributing

Contributions are welcome! Please open an issue or submit a pull request.

Contact

For any inquiries, please reach out to the author at ltpp-universe root@ltpp.vip.

Dependencies

~2.3–8MB
~57K SLoC