mini_macro 0.2.1

helper mini macros
Documentation
  • Coverage
  • 66.67%
    2 out of 3 items documented2 out of 2 items with examples
  • Size
  • Source code size: 5.49 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 1.06 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 13s Average build duration of successful builds.
  • all releases: 13s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • kaigedong

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

let res = async_loop_until_success!(self.clone().doing_something());