singleton-attr-proc-macro 0.1.4

Simple to use singleton procedural attribute and derive macro (internal implementation)
Documentation
singleton-attr-proc-macro-0.1.4 has been yanked.

singleton-attr

Simple to use singleton procedural attribute

  • singleton-attr Crates.io Version docs.rs
  • singleton-attr-proc-macro Crates.io Version docs.rs

Example:

use singleton_attr::{singleton, traits::Singleton};

#[singleton]
#[derive(Debug, Default)]
pub struct Config {
    pub a: i32,
    pub b: i32,
    pub c: String,
}

fn main() {
    let config_1 = Config::get_instance();

    println!(" - Before: {:#?}", config_1);
    config_1_lock.a = 123;
    config_1_lock.b = -123;
    config_1_lock.c = "Hello, World!".to_string();
    println!(" - After: {:#?}", config_1);

    let config_2 = Config::get_instance();
    println!(" - New instance: {:#?}", config_2)
}

Check examples for details.