once 0.3.4

This crate provides an assert_has_not_been_called! macro that panics if the surrounding function is called twice. Useful for initialization functions.

Once

Build Status

This #![no_std] crate provides an assert_has_not_been_called! macro that panics if the surrounding function is called twice. Useful for initialization functions.

Documentation

Example

#[macro_use]
extern crate once;

fn init() {
    assert_has_not_been_called!("the init function must only be called {}", "once");
}

fn main() {
    init();
    // init(); // "the init function must only be called once"
}

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.