mini_macro

Crates.iomini_macro
lib.rsmini_macro
version0.2.2
created_at2025-07-04 06:33:34.48733+00
updated_at2025-07-07 04:40:09.317335+00
descriptionhelper mini macros
homepage
repositoryhttps://github.com/kaigedong/mini_macro
max_upload_size
id1737530
size6,540
(kaigedong)

documentation

https://docs.rs/mini_macro

README

here!() macro used for log backtracing

use anyhow::{Context, Result, anyhow};
use mini_macro::here;

fn produce_err_inside2() -> Result<()> {
    Err(anyhow!("ErrHere1")).context(here!())
}

fn produce_err_inside1() -> Result<()> {
    produce_err_inside2().context(here!("FailedInside1"))
}

fn produce_err_outside() -> Result<()> {
    produce_err_inside1().context(here!("OutsideFailed"))
}

fn main() {
    if let Err(e) = produce_err_outside() {
        println!("Err: {:?}", e);
    }
}
Err: src/main.rs:13:35: OutsideFailed

Caused by:
    0: src/main.rs:9:35: FailedInside1, msg
    1: src/main.rs:5:38
    2: ErrHere1

async_loop_until_success macro used for waiting for async operations

dependency: tokio, tracing

let res = async_loop_until_success!(self.clone().doing_something());
Commit count: 0

cargo fmt