Crate dmacro

Source
Expand description

§dmacro: implemente function macro and debug macro and trace macro and log macro for Rust

This module contains the runtime support for the function! syntax extension. And also three useful macros trace!, enter!, leave! are implemented here. This module contains simple and personal implementation of function macro function! and debug macro trace! and trace macro trace! and log macro trace! for Rust

§Define C-like debug trace macro: enter!() and leave!().

§Check crate: https://crates.io/crates/dmacro

§Thanks to https://stackoverflow.com/questions/38088067.

§Example

use dmacro::*;

fn main() {
    enter!();
    println!("Hello, world!");

    trace!();
    trace!("church11");
    trace!("church21", "church22",);
    trace!("church31", "church32", "church33");
    trace!("church31", "church32", "church33", 1024);
    let y = 2023;
    let m = 9;
    let d = 28;
    trace!(format!("{:04}-{:02}-{:02}", y, m, d));
    trace!(format!("{y:04}-{m:02}-{d:02}"));
    trace!(format!("{y:04}-{m:02}-{d:02}"), "enter");
    trace!(format!("{y:04}-{m:02}-{d:02}"), "leave");

    leave!();
}

§More

Macros§

enter
Define C-like debug trace macro: enter!().
function
Define C-like debug trace macro: function!().
leave
Define C-like debug trace macro: leave!().
trace
Define C-like debug trace macro: trace!().