#macro #proc-macro #编译时 #函数

macro func_

进程宏,用于在函数体内部添加函数名常量

2个稳定版本

1.0.1 2023年9月25日
1.0.0 2023年9月21日

#2031 in 进程宏

BSL-1.0 许可证

6KB
71

func_

Rust Crates.io Documentation

进程宏,用于在函数体内部插入函数名,因为Rust无法做简单的事情

一旦在 const 上下文中稳定了 type_name,此宏可以正确地用简单的函数调用替换函数类型。

使用方法

use func_::_func_;

#[_func_]
fn my_func() {
    assert_eq!(__func__, "my_func");
}

lib.rs:

进程宏,用于在函数体内部插入函数名

使用方法

use func_::_func_;

#[_func_]
fn my_func() {
    assert_eq!(__func__, "my_func");

    println!("{__func__}: log with function name");
}

#[_func_]
fn my_generic_func<T>() {
    assert_eq!(__func__, "my_generic_func");

    println!("{__func__}: log with generic function name but without generics bullshit cuz why the would I want generics in my generic name?");
}

#[_func_]
const fn const_func() {
    assert!(__func__.len() == "const_func".len());
}

#[_func_]
async fn async_func() {
    assert_eq!(__func__, "async_func");
}

my_func();
my_generic_func::<u16>();
const_func();

无运行时依赖