2 unstable releases
0.2.0 | May 16, 2022 |
---|---|
0.1.0 | May 12, 2022 |
#1385 in Procedural macros
95 downloads per month
8KB
hashfn
A procedural macro to generate a hash representation of a function as a string slice.
The hash is generated as a const with the same visibility as the function the macro is applied to.
Example:
use hashfn::hashfn;
#[hashfn(DO_SOMETHING)]
pub(crate) fn do_something() {}
// Will expand to
// pub(crate) const DO_SOMETHING: &str = "<hash>";
// pub(crate) fn do_something() {}
hashfn
will generate the name of the constant if it is omitted:
use hashfn::hashfn;
#[hashfn]
pub(crate) fn do_something() {}
// Will expand to
// pub(crate) const DO_SOMETHING_HASH: &str = "<hash>";
// pub(crate) fn do_something() {}
lib.rs
:
A procedural macro to generate a hash representation of a function as a string slice.
The hash is generated as a const with the same visibility as the function the macro is applied to.
Example:
use hashfn::hashfn;
#[hashfn(DO_SOMETHING)]
pub(crate) fn do_something() {}
// Will expand to
// pub(crate) const DO_SOMETHING: &str = "<hash>";
// pub(crate) fn do_something() {}
hashfn
will generate the name of the constant if it is omitted:
use hashfn::hashfn;
#[hashfn]
pub(crate) fn do_something() {}
// Will expand to
// pub(crate) const DO_SOMETHING_HASH: &str = "<hash>";
// pub(crate) fn do_something() {}
Dependencies
~2MB
~47K SLoC