[][src]Crate label

Label

label is a library that can be used to create custom attributes for functions, through which you can list them and perform actions on them. Label uses no global state during the compilation process, to avoid incremental compilation breaking it.

Example

use label::create_label;

create_label!(fn test() -> ());

#[test::label]
fn my_fn()  {
   println!("Test!");
}

fn main() {
    println!("calling all 'test' label");
    // using iter you can go through all functions with this annotation.
    for i in test::iter() {
        i();
    }
}

Label also supports labels on static and const variables, and iterating over the names of labeled items. For more information about this, visit the docs on create_label

Macros

create_label

Creates a new label.

Attribute Macros

ctor

Marks a function or static variable as a library/executable constructor. This uses OS-specific linker sections to call a specific function at load time.